18个网站的Python爬虫登录示例 | 开源项目推荐

该项目收集了一些各大网站登陆方式和一些网站的爬虫程序,有的是通过selenium登录,有的是通过抓包直接模拟登录,有的是利用scrapy,希望对Python初学者有所帮助,本项目用于研究和分享各大网站的模拟登陆方式和爬虫程序。

在该项目中,模拟登陆基本采用的是直接登录或者使用selenium+webdriver的方式,有的网站直接登录难度很大,比如qq空间和bilibili等,如果采用selenium就相对轻松一些。

虽然在登录的时候采用的是selenium,但为了效率,我们可以在登录过后得到的cookie维护起来,然后调用requests或者scrapy等进行数据采集,这样数据采集的速度可以得到保证。

目前已经完成的网站包含:Facebook、无需身份验证即可抓取Twitter前端API、微博网页版、知乎、QQZone、淘宝、Baidu、果壳、JingDong 模拟登录和自动申请京东试用、163mail、拉钩、Bilibili、豆瓣、Baidu2、猎聘网、微信网页版登录并获取好友列表、Github、爬取图虫相应的图片、网易云音乐、糗事百科。

测试

 

Bilibili自动登录测试正常,成功率98%

 

 

 

 

web微信

 

 

 

 

图虫Spider

 

 

 

 

淘宝web

taobao.py为模拟登录

剩下的文件为爬虫

 

 

新增链家Spider

 

 

1. 爬取淘宝各子标签,按销量排名商品信息,按分类保存至MongoDB

2. 通过pandas进行数据分析

3 .将商品在各省分布、销量排行、地图分布等通过matplotlib绘图显示

微博

sina.py为模拟登录

spider文件夹中为爬虫

1. 输入要爬取的博主ID,获取ajax请求

2. 解析json数据,爬取博主所有微博,保存至MySQL

网易云音乐

新增网易云音乐下载,之前的一个小demo应该还可以用,Crypto包应该挺难搞的,安装之后还是导入不了,推荐去百度一下,百度上的这个解决方法有很多。

知乎

知乎登录没有问题,不过要手动输入验证码。

知乎登录遇到“execjs._exceptions.ProgramError: TypeError: 'exports' 未定义”。

原因以及解决办法:

1. 由于是你本地的JScript引擎只有一个默认的JScript,所以会造成json未定义的错误。

2. execjs会自动使用当前电脑上的运行时环境

3. 解决办法:安装一个nodejs的V8引擎就可以了

 

 

对于该项目中存在的问题,作者表示:

关于验证码:本项目所用的方法都没有处理验证码,识别复杂验证码的难度就目前来说,还是比较大的。以我的心得来说,做爬虫最好的方式就是尽量规避验证码。

代码失效:由于网站策略或者样式改变,导致代码失效,请给我提issue,如果你已经解决,可以提PR,谢谢!

正在对部分代码进行优化。

项目地址:

https://github.com/CriseLYJ/awesome-python-login-model

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值