Skip to content
各大网站登陆方式,有的是通过selenium登录,有的是通过抓包直接模拟登录(精力原因,目前不再继续维护)
Python
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
163email 163邮箱登陆代码优化 Apr 11, 2017
baidu 增加百度网盘直接模拟登陆相关实现 Apr 15, 2017
csdn
facebook login into facebook directly Jun 26, 2017
github issue#8 Jul 15, 2017
jd_login fix bugs about login of jd Jun 14, 2017
qqspace_login add login method of facebook Jun 25, 2017
sina_login bug fix Apr 9, 2018
zhihu_login Update zhihu_login Mar 6, 2018
.gitattributes 修改github上该项目的语言属性 Apr 23, 2017
.gitignore 更新ignore文件 Apr 11, 2017
LICENSE 增加LICENSE May 6, 2017
README.md 修改readme May 9, 2017

README.md

smart_login

本项目用于研究和分享各大网站的模拟登陆方式,主要使用selenium+phantomjs或者直接登录的方式,语言采用Python

关于

由于工作需要,研究了一段时间的新浪微博登陆方式,在网上也查看了很多别人的经验,但是有相当一部分都是转载而且代码老旧,所以便有了这个repo。

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

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

下面是已经实现和待实现的目标

  • 微博
  • 知乎
  • QQ空间
  • 京东
  • 163邮箱
  • CSDN
  • 淘宝
  • 百度
  • 果壳
  • 拉钩

其中比较典型的是微博这一类的模拟登陆,会用到RSA、Base64等加密和编码算法,关于它的分析过程,我写了一篇文章,写得很详细,帮助大家理解

常见问题

  • 关于验证码:本项目所用的方法都没有处理验证码,识别复杂验证码的难度就目前来说,还是比较大的。以我的心得来说,做爬虫最好的方式就是尽量规避验证码。
  • 代码失效:由于网站策略或者样式改变,导致代码失效,请给我提issue,如果你已经解决,可以提PR,谢谢!

其它

  • 如果有童鞋自己也实现了某些站点的模拟登陆,可以给我提PR。站点太多了,一个人维护确实是比较大的工作量
  • 授人以鱼不如授人以渔,如果感觉自己分析模拟登陆过程还有比较大的困难的,可以仔细阅读一下我写的三篇文章,包括了两种典型的模拟登陆和三种分析思路
  • 模拟登陆csdn
  • 模拟登陆微博
  • 模拟登陆百度网盘
  • 如果你有什么比较难登陆的网站,比如发现用了selenium+webdriver都还登陆不了的网站,欢迎给我提issue
  • 如果该repo对大家有帮助,给个star鼓励鼓励吧
You can’t perform that action at this time.