{"id":13467936,"url":"https://github.com/SpiderClub/smart_login","last_synced_at":"2025-03-26T03:31:18.633Z","repository":{"id":63522023,"uuid":"55126123","full_name":"SpiderClub/smart_login","owner":"SpiderClub","description":"各大网站登陆方式，有的是通过selenium登录，有的是通过抓包直接模拟登录（精力原因，目前不再继续维护）","archived":false,"fork":false,"pushed_at":"2022-07-26T16:29:10.000Z","size":60,"stargazers_count":1011,"open_issues_count":14,"forks_count":347,"subscribers_count":63,"default_branch":"master","last_synced_at":"2025-03-19T01:10:17.484Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SpiderClub.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-03-31T06:30:46.000Z","updated_at":"2025-03-10T03:05:21.000Z","dependencies_parsed_at":"2022-11-20T14:45:48.497Z","dependency_job_id":null,"html_url":"https://github.com/SpiderClub/smart_login","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpiderClub%2Fsmart_login","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpiderClub%2Fsmart_login/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpiderClub%2Fsmart_login/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpiderClub%2Fsmart_login/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SpiderClub","download_url":"https://codeload.github.com/SpiderClub/smart_login/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245584747,"owners_count":20639620,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T15:01:02.798Z","updated_at":"2025-03-26T03:31:17.969Z","avatar_url":"https://github.com/SpiderClub.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# smart_login\n本项目用于研究和分享各大网站的模拟登陆方式,主要使用selenium+phantomjs或者直接登录的方式,语言采用Python\n\n\n## 关于\n\n由于工作需要，研究了一段时间的新浪微博登陆方式，在网上也查看了很多别人的经验，但是有相当一部分都是转载而且代码老旧，所以便有了这个repo。\n\n模拟登陆基本采用的是直接登录或者使用selenium+webdriver的方式，有的网站直接登录难度很大，比如qq空间，如果采用selenium就相对轻松一些。\n\n虽然在登录的时候采用的是selenium,为了效率，我们可以在登录过后得到的cookie维护起来，然后调用requests或者scrapy等进行数据采集，这样数据采集的速度可以得到保证。\n\n下面是已经实现和待实现的目标\n\n- [x] 微博\n- [x] 知乎\n- [x] QQ空间\n- [x] 京东\n- [x] 163邮箱\n- [x] CSDN\n- [ ] 淘宝\n- [x] 百度\n- [ ] 果壳\n- [ ] 拉钩\n\n其中比较典型的是微博这一类的模拟登陆，会用到RSA、Base64等加密和编码算法，关于它的分析过程，我写了[一篇文章](http://www.jianshu.com/p/816594c83c74)，写得很详细，帮助大家理解\n\n## 常见问题\n\n- 关于验证码：本项目所用的方法都没有处理验证码，识别复杂验证码的难度就目前来说，还是比较大的。以我的心得来说，做爬虫最好的方式就是尽量规避验证码。\n- 代码失效：由于网站策略或者样式改变，导致代码失效，请给我提issue，如果你已经解决，可以提PR，谢谢！\n\n## 其它\n\n- 如果有童鞋自己也实现了某些站点的模拟登陆，可以给我提PR。站点太多了，一个人维护确实是比较大的工作量\n- 授人以鱼不如授人以渔，如果感觉自己分析模拟登陆过程还有比较大的困难的，可以仔细阅读一下我写的三篇文章，包括了两种典型的模拟登陆和三种分析思路\n - [模拟登陆csdn](http://www.rookiefly.cn/detail/65)\n - [模拟登陆微博](http://www.jianshu.com/p/816594c83c74)\n - [模拟登陆百度网盘](http://www.jianshu.com/p/efcf030e68c5)\n- 如果你有什么比较难登陆的网站，比如发现用了selenium+webdriver都还登陆不了的网站，欢迎给我提issue\n- 如果该repo对大家有帮助，给个star鼓励鼓励吧","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSpiderClub%2Fsmart_login","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FSpiderClub%2Fsmart_login","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSpiderClub%2Fsmart_login/lists"}