python-3.x - 跟进使用python爬取网站
问题描述
这是我之前关于如何使用 python 抓取网站的问题。我对此有一个后续问题
我有一个包含 100 万个网站的 csv 文件,我正在尝试使用我在上一篇文章中提到的网站来查找每个网站的类别
但问题是,我已经在 1 小时前开始运行脚本,直到现在我只得到了 3000 个网站的结果。所以,我想获得所有 100 万个网站需要很长时间
谁能建议一种更好的方法来完成相同的任务并更快地获得结果
解决方案
启动多个线程/程序实例
我看了看你接受的答案。作为参考,一小时内 3000 个网站是每 1.2 秒一个网站。这对于网络抓取来说还不错。为什么每个网站需要 1.2 秒?因为requests.get
必须等待网站加载才能为类别抓取它。
您几乎无法加快任何给定网站的加载速度。因此,您希望您的计算机一次发出多个请求以加快处理速度。
如果您是 Python 初学者,最简单的方法可能是将 100 万个网站列表分解为几个不同的列表,并同时针对不同的列表运行同一程序的多个实例。然后,您可以合并列表。
正确的做法是在程序中创建多个线程,并让每个线程针对列表的一部分运行 BeautifulSoup,然后将结果合并在一起。
推荐阅读
- java - Jackson ObjectMapper - 将值写入流
- flutter - 颤振酒吧升级失败
- python-3.x - 通过python进行网页抓取问题,无法读取html文件?
- json - Golang 将嵌套的 json 解组为结构
- linux - mq_receive 在 NASM 中给出“消息太长”错误
- ios - UIView 在子视图中不可见
- flutter - 尝试在颤振上写相机,麦克风和地图的权限
- string - 朱莉娅最快的方式来读取值字符串到数组
- windows - VTune 中缺少 amplxe-sepreg.exe
- java - 为什么我的计数器不计数并且我的 ArrayList 没有将新的整数值添加到数组中?