Python爬虫模拟登录的github项目
DecryptLogin
项目地址:
https://github.com/CharlesPikachu/DecryptLogin
项目中文文档:
https://httpsgithubcomcharlespikachudecryptlogin.readthedocs.io/zh/latest/
Support List:
Websites | support PC API? | support mobile API? | in Chinese |
---|---|---|---|
✓ | ✓ | 新浪微博 | |
douban | ✓ | ✗ | 豆瓣 |
github | ✓ | ✗ | Github |
music163 | ✓ | ✗ | 网易云音乐 |
zt12306 | ✓ | ✗ | 中国铁路12306 |
QQZone | ✗ | ✓ | QQ空间 |
QQQun | ✗ | ✓ | QQ群 |
QQId | ✗ | ✓ | 我的QQ中心 |
zhihu | ✓ | ✗ | 知乎 |
bilibili | ✓ | ✓ | B站 |
toutiao | ✗ | ✓ | 今日头条 |
taobao | ✓ | ✗ | 淘宝 |
jingdong | ✓ | ✗ | 京东 |
ifeng | ✓ | ✗ | 凤凰网 |
sohu | ✓ | ✓ | 搜狐 |
zgconline | ✓ | ✗ | 中关村在线 |
lagou | ✓ | ✗ | 拉勾网 |
✓ | ✗ | 推特 | |
Vultr | ✓ | ✗ | Vultr |
eSurfing | ✓ | ✗ | 天翼 |
renren | ✓ | ✗ | 人人网 |
w3cschool | ✓ | ✗ | W3Cschool(编程狮) |
fishc | ✓ | ✗ | 鱼C论坛 |
youdao | ✓ | ✗ | 有道 |
baidupan | ✓ | ✗ | 百度网盘 |
stackoverflow | ✓ | ✗ | stackoverflow |
Some Cases by Using DecryptLogin:
Name | Introduction | code | in Chinese |
---|---|---|---|
weiboMonitor | click | click | 微博监控 |
QQReport | click | click | 生成QQ个人专属报告 |
bilibiliDownloadUserVideos | click | click | 下载B站指定UP主的所有视频 |
NeteaseSongListDownloader | click | click | 网易云个人歌单下载器 |
NeteaseListenLeaderboard | click | click | 网易云个人听歌排行榜 |
userWeiboSpider | click | click | 下载指定微博用户的所有微博数据 |
NeteaseSignin | click | click | 网易云音乐自动签到 |
weiboEmoji | click | click | 微博表情包爬取 |
weiboSender | click | click | 大吼一声发微博 |
Install
run "pip install DecryptLogin"
Source code install
(1) Offline
Step1: git clone https://github.com/CharlesPikachu/DecryptLogin.git
Step2: cd DecryptLogin -> run "python setup.py install"
(2) Online
run "pip install git+https://github.com/CharlesPikachu/DecryptLogin.git@master"
Quick Start
from DecryptLogin import login lg = login.Login() infos_return, session = lg.douban(username[telephone], password, 'pc') infos_return, session = lg.github(username[email], password, 'pc') infos_return, session = lg.weibo(username[telephone], password, 'mobile') infos_return, session = lg.music163(username[telephone/email], password, 'pc') infos_return, session = lg.zt12306(username[telephone], password, 'pc') infos_return, session = lg.QQZone('mobile') infos_return, session = lg.QQQun('mobile') infos_return, session = lg.QQId('mobile') infos_return, session = lg.zhihu(username, password, 'pc') infos_return, session = lg.bilibili(username, password, 'pc') infos_return, session = lg.toutiao(username, password, 'mobile') infos_return, session = lg.taobao('pc') infos_return, session = lg.jingdong('pc') infos_return, session = lg.ifeng(username, password, 'pc') infos_return, session = lg.sohu(username, password, 'mobile') infos_return, session = lg.zgconline(username, password, 'pc') infos_return, session = lg.lagou(username, password, 'pc') infos_return, session = lg.twitter(username, password, 'pc') infos_return, session = lg.vultr(username, password, 'pc') infos_return, session = lg.eSurfing(username, password, 'pc') infos_return, session = lg.renren(username, password, 'pc') infos_return, session = lg.w3cschool(username, password, 'pc') infos_return, session = lg.fishc(username, password, 'pc') infos_return, session = lg.youdao(username, password, 'pc') infos_return, session = lg.baidupan(username, password, 'pc') infos_return, session = lg.stackoverflow(username, password, 'pc')
Website login model
收集了一些各大网站登陆方式, 和一些网站的爬虫程序,有的是通过selenium登录,有的是通过抓包直接模拟登录,有的是利用scrapy,希望对小白有所帮助,本项目用于研究和分享各大网站的模拟登陆方式,和爬虫程序,会持续更新。。。
About
模拟登陆基本采用的是直接登录或者使用selenium+webdriver的方式,有的网站直接登录难度很大,比如qq空间,bilibili等如果采用selenium就相对轻松一些。
虽然在登录的时候采用的是selenium,为了效率,我们可以在登录过后得到的cookie维护起来,然后调用requests或者scrapy等进行数据采集,这样数据采集的速度可以得到保证。
Completed
- 微博网页版
- 知乎
- QQZone
- CSDN
- 淘宝-接口修复完成-可用
- CSDN--已重构
- Baidu
- 果壳
- JingDong 模拟登录和自动申请京东试用
- 163mail
- 拉钩
- Bilibili
- 豆瓣
- 豆瓣spider
- Baidu
- 猎聘网
- 微信网页版登录并获取好友列表
- Github
- 爬取图虫相应的图片
- 网易云音乐
- 糗事百科--改为协程版
- 百度贴吧spider
- 百度翻译
catalogue
- Facebook模拟登录
- 微博网页版模拟登录
- 知乎模拟登录
- QQZone模拟登录
- CSDN模拟登录--已恢复
- 淘宝爬虫--重构中
- Baidu模拟登录一
- 果壳爬虫程序
- JingDong 模拟登录和自动申请京东试用
- 163mail--已恢复
- 拉钩模拟登录--已失效
- Bilibili模拟登录
- 豆瓣
- Baidu2模拟登录
- 猎聘网模拟登录
- 微信网页版登录并获取好友列表
- Github模拟登录两种解决方案都可行
- 爬取图虫想要的图片
- 网易云音乐downloader
- 糗事百科爬虫
- 淘宝登陆-访问
Test
Informations
- 为感谢你们的支持,准备写一套免费爬虫的教程,保证你学会以后可以爬取市面上大部分的网站,教程地址
一些爬虫代码
1.微信公众号爬虫
GitHub:github.com/Chyroc/Wech…
基于搜狗微信搜索的微信公众号爬虫接口,可以扩展成基于搜狗搜索的爬虫,返回结果是列表,每一项均是公众号具体信息字典。
2.豆瓣读书爬虫
GitHub:github.com/lanbing510/…
可以爬下豆瓣读书标签下的所有图书,按评分排名依次存储,存储到Excel中,可方便大家筛选搜罗,比如筛选评价人数>1000的高分书籍;可依据不同的主题存储到Excel不同的Sheet ,采用User Agent伪装为浏览器进行爬取,并加入随机延时来更好的模仿浏览器行为,避免爬虫被封。
3.知乎爬虫
GitHub:github.com/LiuRoy/zhih…
此项目的功能是爬取知乎用户信息以及人际拓扑关系,爬虫框架使用scrapy,数据存储使用mongo
4.Bilibili用户爬虫
GitHub:github.com/airingursb/…
总数据数:20119918,抓取字段:用户id,昵称,性别,头像,等级,经验值,粉丝数,生日,地址,注册时间,签名,等级与经验值等。抓取之后生成B站用户数据报告。
5.新浪微博爬虫
GitHub:github.com/LiuXingMing…
主要爬取新浪微博用户的个人信息、微博信息、粉丝和关注。代码获取新浪微博Cookie进行登录,可通过多账号登录来防止新浪的反扒。主要使用 scrapy 爬虫框架。
6.小说下载分布式爬虫
GitHub:github.com/gnemoug/dis…
使用scrapy,Redis, MongoDB,graphite实现的一个分布式网络爬虫,底层存储MongoDB集群,分布式使用Redis实现,爬虫状态显示使用graphite实现,主要针对一个小说站点。
7.中国知网爬虫
GitHub:github.com/yanzhou/Cnk…
设置检索条件后,执行src/CnkiSpider.py抓取数据,抓取数据存储在/data目录下,每个数据文件的第一行为字段名称。
8.链家网爬虫
GitHub:github.com/lanbing510/…
爬取北京地区链家历年二手房成交记录。涵盖链家爬虫一文的全部代码,包括链家模拟登录代码。
9.京东爬虫
GitHub:github.com/taizilongxu…
基于scrapy的京东网站爬虫,保存格式为csv。
10.QQ 群爬虫
GitHub:github.com/caspartse/Q…
批量抓取 QQ 群信息,包括群名称、群号、群人数、群主、群简介等内容,最终生成 XLS(X) / CSV 结果文件。
11.乌云爬虫
GitHub:github.com/hanc00l/woo…
乌云公开漏洞、知识库爬虫和搜索。全部公开漏洞的列表和每个漏洞的文本内容存在MongoDB中,大概约2G内容;如果整站爬全部文本和图片作为离线查询,大概需要10G空间、2小时(10M电信带宽);爬取全部知识库,总共约500M空间。漏洞搜索使用了Flask作为web server,bootstrap作为前端。
12.hao123网站爬虫
GitHub:github.com/buckyrobert…
以hao123为入口页面,滚动爬取外链,收集网址,并记录网址上的内链和外链数目,记录title等信息,windows7 32位上测试,目前每24个小时,可收集数据为10万左右。
13.机票爬虫(去哪儿和携程网)
GitHub:github.com/fankcoder/f…
Findtrip是一个基于Scrapy的机票爬虫,目前整合了国内两大机票网站(去哪儿 + 携程)。
14.基于requests、MySQLdb、torndb的网易客户端内容爬虫
GitHub:github.com/leyle/163sp…
15.豆瓣电影、书籍、小组、相册、东西等爬虫集
GitHub:github.com/fanpei91/do…
16.QQ空间爬虫
GitHub:github.com/LiuXingMing…
包括日志、说说、个人信息等,一天可抓取 400 万条数据。
17.百度mp3全站爬虫,使用redis支持断点续传。
GitHub:github.com/Shu-Ji/baid…
18.淘宝和天猫的爬虫
GitHub:github.com/pakoo/tbcra…
可以根据搜索关键词,物品id来抓去页面的信息,数据存储在mongodb。
19.一个股票数据(沪深)爬虫和选股策略测试框架
GitHub:github.com/benitoro/st…
根据选定的日期范围抓取所有沪深两市股票的行情数据。支持使用表达式定义选股策略。支持多线程处理。保存数据到JSON文件、CSV文件。