awesome-python-login-model (Kr1s77/awesome-python-login-model)
Searching Database…
这是什么?
一组用 Python 3 编写的示例脚本,用来模拟登录各类热门网站——大部分是中文网站,比如知乎、哔哩哔哩、微博、京东和淘宝,另外还有 Facebook 和 GitHub——外加几个简单的爬虫。它定位为一个学习登录模拟和爬虫技术的资源。
这是一个安装后就能用的程序,还是一堆各自独立的脚本?
一堆各自独立的脚本:每个网站都有自己单独的 Python 3 示例,你只需要运行需要的那个。没有需要安装的软件包,也没有一个能驱动所有网站的统一命令行工具。
怎么运行这些登录脚本?
README 里没有安装步骤;实际操作是:克隆仓库,找到目标网站对应的脚本,配置好 selenium 和 Chrome 或 Firefox 的 WebDriver,然后用 Python 3 运行。
除了 Python 还需要装什么?
selenium 以及 Chrome 或 Firefox 的 WebDriver——README 的 WebDriver 部分提到的就是这两个浏览器。有些脚本还假定你会把登录得到的 cookie 交给 requests 或 scrapy 来做实际的数据抓取。
这些登录方法能处理验证码吗?
不能——本项目里的方法都不处理验证码。作者说识别复杂验证码目前仍然非常困难,他的建议是抓数据时尽量绕开验证码,而不是硬去破解。
能在 Windows 上运行吗,还是只能在 Linux 上用?
项目完全没提操作系统:这些就是普通的 Python 3 加 selenium 脚本,用的是 Chrome 或 Firefox,所以凡是能运行这两个浏览器的桌面系统——Windows、macOS 或 Linux——应该都能用。
代码有开源许可证吗,我可以拿来复用吗?
README 里没有声明任何许可证;只提到本项目仅供学习交流,所以复用条款并不明确——不要默认它具有标准开源许可的权利。
覆盖了哪些网站?
登录脚本包括虾米音乐、Facebook、微博网页版、知乎、QQ空间、CSDN、淘宝、百度、果壳、京东(含自动申请京东免费试用)、163邮箱、拉勾网、哔哩哔哩、豆瓣、猎聘、可抓取好友列表的微信网页版、GitHub 和网易云音乐;爬虫则包括图虫照片、糗事百科、百度贴吧和百度翻译。
登录具体是怎么实现的——像真实用户那样在浏览器里操作吗?
有两种方式:一种是直接登录,通过重放网站的登录请求来实现(有时靠逆向 JavaScript 分析得出);另一种是用 selenium 配合 WebDriver 驱动真实浏览器。作者指出,对 QQ空间和哔哩哔哩这类网站直接登录非常困难,用 selenium 会容易得多;登录后 cookie 会被保存下来,之后 requests 或 scrapy 就能全速抓取数据。
这些脚本现在还能用吗?
不是全部都能用。目录本身已把拉勾网的登录标记为失效,淘宝爬虫标记为重写中;作者解释说,网站会改策略、改页面样式,代码随之失效——他请大家提交 issue 反馈问题,并提交修复的 PR。一个脚本跑通之前,先做好自己调试的准备。
这个仓库是用来学习的,还是真的能用于生产环境的爬虫?
用来学习。README 声明本项目仅供学习交流,作者还提到正在准备一套免费的爬虫教程,声称能教你抓取网上大多数网站。把每个脚本都当作某个技术的演示示例,而不是可直接用于生产环境的工具。
What are similar projects?
learn_python3_spider, botasaurus, undetected-chromedriver, MediaCrawler, catbus, invisible_selenium, CloakBrowser, EasySpider
Which topics is it in?
weibo, webdriver, login, selenium, captcha, crawler, web-scraping, browser-automation, reverse-engineering, chinese, python, windows