用python来爬取某鱼的商品信息(1/2)
目录
前言
本章讲理论,后面一节讲代码
拿来练练手的,练练selenium包,实战一下
(本来想拿来练手的,没想到他喵的有挺多防爬的,直接开局就困难难度我靠,凸(艹皿艹 ))
找到可以爬取的网站
第一大难题——找到网站入口
但是咸鱼官方的网站已经关闭了(开局就不利)
GG
曲线救国
但是后面发现可以通过淘宝手机版网页版的入口直接进入咸鱼网页版的入口(反正都是爬取怎么进的不重要啦!!!)
链接放着里了,怎么进别问我了
好了第一大难题(找到网页版入口解决了)
模拟搜索
接下来就是利用python的selenium包模拟点击
右键搜索款点击检查就可以定位到该元素的xpath的路径(新版的selenium有许多不同的用法我会在下一章中进行代码实现,这一章主要讲解理论)
然后在python代码中输入你要搜索的文字内容再回车即可
第二大难题——登录
在这一个咸鱼网页版中,你必须要登录才可以
这样你就要先登录才可以访问网页
最大难题——登录界面滑块验证
提一嘴
在这个登录页面中,登录页面是iframe内嵌入其中的页面的
所以你无法直接定位到登录框(我搞了好久反应过来,真的离谱!!)
登录cookie获取
所以你有两种选择
第一种
直接在python中打开登录页面进入登录页面然后登录直接用selenium库中的get_cookie获取cookie并保存
登录https://passport.goofish.com/mini_login.htm?ttid=h5@iframe&redirectType=iframeRedirect&returnUrl=//h5.m.goofish.com/app/vip/h5-webapp/lib-login-message.html?origin=https%253A%252F%252Fh5.m.goofish.com&appName=xianyu&appEntrance=web&isMobile=true想法相对来说不这么绕,但是遗憾的是我无法登录(因为登录有滑块验证,我是几乎过不了的,手动都不行)
第二种
在正常网页中登入之后用浏览器插件提取出来
我用的是cookie editor
在网页版中正常登录可以过滑块验证
之后用插件复制出json文件,并且进行粘贴
第四大难题——无法使用导出的cookie
使用代码导入是报错
assert cookie_dict[‘sameSite‘] in [‘Strict‘, ‘Lax‘] AssertionError()
原因
提取出来的cookie中samesite的值不为strict以及lax两种中的一种,他就会报错
解决办法
只需要在json字典中把samesite的值全部改为Strict即可
最后
然后添加cookie然后刷新界面就可以发现搜索结果出来了
出现小问题
由于然后短时间内多次请求依旧会有阴间的滑块验证,所以我推荐设置好后半小时爬取一次即可
总结
这一次实战经历真的让我遇到了selenium许多奇奇怪怪的反爬手段,也是让我可以大幅度提升自己实战经验的一个经历,前前后后排bug,绕反爬,这一个项目打了整整两天。累die
下一篇博客(大部分代码实现)
来源地址:https://blog.csdn.net/mumuemhaha/article/details/132238660
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341