用python来爬取某鱼的商品信息(1/2)

目录

前言

第一大难题------找到网站入口

曲线救国

模拟搜索

第二大难题------登录

提一嘴

登录cookie获取

第一种

第二种

第四大难题------无法使用导出的cookie

原因

解决办法

最后

出现小问题

总结


前言

本章讲理论,后面一节讲代码

拿来练练手的,练练selenium包,实战一下

(本来想拿来练手的,没想到他喵的有挺多防爬的,直接开局就困难难度我靠,凸(艹皿艹 ))

找到可以爬取的网站

第一大难题------找到网站入口

但是咸鱼官方的网站已经关闭了(开局就不利)

闲鱼.淘宝二手 - 轻松卖闲置,放心淘二手闲鱼.淘宝二手是一个社区化的二手闲置交易市场,不仅支持各种同城及线上的担保交易,更安全,同时还有最专业的放心购二手商家,让你轻松在这买卖二手闲置。https://goofish.com/

GG

曲线救国

但是后面发现可以通过淘宝手机版网页版的入口直接进入咸鱼网页版的入口(反正都是爬取怎么进的不重要啦!!!)

链接放着里了,怎么进别问我了

淘宝淘宝网 - 亚洲较大的网上交易平台,提供各类服饰、美容、家居、数码、话费/点卡充值... 数亿优质商品,同时提供担保交易(先收货后付款)等安全交易保障服务,并由商家提供退货承诺、破损补寄等消费者保障服务,让你安心享受网上购物乐趣!https://main.m.taobao.com/index.html

好了第一大难题(找到网页版入口解决了)

模拟搜索

接下来就是利用python的selenium包模拟点击

右键搜索款点击检查就可以定位到该元素的xpath的路径(新版的selenium有许多不同的用法我会在下一章中进行代码实现,这一章主要讲解理论

然后在python代码中输入你要搜索的文字内容再回车即可

第二大难题------登录

在这一个咸鱼网页版中,你必须要登录才可以

这样你就要先登录才可以访问网页

最大难题------登录界面滑块验证

提一嘴

在这个登录页面中,登录页面是iframe内嵌入其中的页面的

所以你无法直接定位到登录框(我搞了好久反应过来,真的离谱!!)

登录cookie获取

所以你有两种选择

第一种

直接在python中打开登录页面进入登录页面然后登录直接用selenium库中的get_cookie获取cookie并保存

登录https://passport.goofish.com/mini_login.htm?ttid=h5%40iframe&redirectType=iframeRedirect&returnUrl=%2F%2Fh5.m.goofish.com%2Fapp%2Fvip%2Fh5-webapp%2Flib-login-message.html%3Forigin%3Dhttps%253A%252F%252Fh5.m.goofish.com&appName=xianyu&appEntrance=web&isMobile=true想法相对来说不这么绕,但是遗憾的是我无法登录(因为登录有滑块验证,我是几乎过不了的,手动都不行)

第二种

在正常网页中登入之后用浏览器插件提取出来

我用的是cookie editor

在网页版中正常登录可以过滑块验证

之后用插件复制出json文件,并且进行粘贴

第四大难题------无法使用导出的cookie

使用代码导入是报错

bash 复制代码
 assert cookie_dict['sameSite'] in ['Strict', 'Lax'] AssertionError()

原因

提取出来的cookie中samesite的值不为strict以及lax两种中的一种,他就会报错

解决办法

只需要在json字典中把samesite的值全部改为Strict即可

最后

然后添加cookie然后刷新界面就可以发现搜索结果出来了

出现小问题

由于然后短时间内多次请求依旧会有阴间的滑块验证,所以我推荐设置好后半小时爬取一次即可

总结

这一次实战经历真的让我遇到了selenium许多奇奇怪怪的反爬手段,也是让我可以大幅度提升自己实战经验的一个经历,前前后后排bug,绕反爬,这一个项目打了整整两天。累die

相关推荐
我好喜欢你~24 分钟前
C#---StopWatch类
开发语言·c#
lifallen2 小时前
Java Stream sort算子实现:SortedOps
java·开发语言
IT毕设实战小研2 小时前
基于Spring Boot 4s店车辆管理系统 租车管理系统 停车位管理系统 智慧车辆管理系统
java·开发语言·spring boot·后端·spring·毕业设计·课程设计
wyiyiyi2 小时前
【Web后端】Django、flask及其场景——以构建系统原型为例
前端·数据库·后端·python·django·flask
mit6.8242 小时前
[1Prompt1Story] 滑动窗口机制 | 图像生成管线 | VAE变分自编码器 | UNet去噪神经网络
人工智能·python
没有bug.的程序员2 小时前
JVM 总览与运行原理:深入Java虚拟机的核心引擎
java·jvm·python·虚拟机
甄超锋3 小时前
Java ArrayList的介绍及用法
java·windows·spring boot·python·spring·spring cloud·tomcat
cui__OaO3 小时前
Linux软件编程--线程
linux·开发语言·线程·互斥锁·死锁·信号量·嵌入式学习
鱼鱼说测试4 小时前
Jenkins+Python自动化持续集成详细教程
开发语言·servlet·php
AntBlack4 小时前
不当韭菜V1.1 :增强能力 ,辅助构建自己的交易规则
后端·python·pyqt