首页 > 解决方案 > 跟进使用python爬取网站

问题描述

与网站交互并使用 python 获取数据

这是我之前关于如何使用 python 抓取网站的问题。我对此有一个后续问题

我有一个包含 100 万个网站的 csv 文件,我正在尝试使用我在上一篇文章中提到的网站来查找每个网站的类别

但问题是,我已经在 1 小时前开始运行脚本,直到现在我只得到了 3000 个网站的结果。所以,我想获得所有 100 万个网站需要很长时间

谁能建议一种更好的方法来完成相同的任务并更快地获得结果

标签: python-3.x

解决方案


启动多个线程/程序实例

我看了看你接受的答案。作为参考,一小时内 3000 个网站是每 1.2 秒一个网站。这对于网络抓取来说还不错。为什么每个网站需要 1.2 秒?因为requests.get必须等待网站加载才能为类别抓取它。

您几乎无法加快任何给定网站的加载速度。因此,您希望您的计算机一次发出多个请求以加快处理速度。

如果您是 Python 初学者,最简单的方法可能是将 100 万个网站列表分解为几个不同的列表,并同时针对不同的列表运行同一程序的多个实例。然后,您可以合并列表。

正确的做法是在程序中创建多个线程,并让每个线程针对列表的一部分运行 BeautifulSoup,然后将结果合并在一起。


推荐阅读