使用 Python 抓取网页时如何使用相同的连接?

How to use the same connection when web scraping with Python?

我想定期从网页上抓取一些信息。最有可能让我的 IP 被禁止的时间间隔。有人建议我使用 WebKit,例如 Ghost.py 来抓取数据,但保持连接打开,模拟浏览器中打开的选项卡。我对 WebKit 知之甚少,有人可以为我确认 Ghost.py 能够重用相同的连接,或者是否有任何其他首选建议。

所以这并没有回答你关于 'same connection scraping,' 的问题,但我目前正在使用 Scrapy 自己构建一个网络抓取工具。 它是一个快速且可扩展的 python 框架,用于抓取网络。我会前往他们的网站并 运行 浏览教程,看看它是否符合您的需求。

http://scrapy.org/

他们还有一些常见的做法可以帮助您避免被禁止。

http://doc.scrapy.org/en/stable/topics/practices.html#avoiding-getting-banned

您可以使用 PySocks 抓取 Tor 的 运行 实例。

本书 "Web Scraping with Python" 中有一些这样做的例子(完全公开,我写的)

通过 Tor 进行基本抓取:https://github.com/REMitchell/python-scraping/blob/master/chapter14/1-socks.py

使用 Selenium 抓取(以防您需要执行 JavaScript 或类似的操作):https://github.com/REMitchell/python-scraping/blob/master/chapter14/2-seleniumSocks.py