Python Web 抓取 : grequests vs. 多线程请求?

标签 python python-requests grequests

我正在尝试让我用 Python 编写的网络爬虫更快。

目前,我启动了一定数量的抓取线程,创建一个包含我想要抓取的 URL 列表的队列,并让它们将条目出列,以便它们可以抓取。

grequests 声明它是异步的,但我不确定除了触发多个线程(就像我正在做的那样)和使用 gevent 在完成时触发事件之外,“完全”意味着什么。

除了为每个作业创建一个线程之外,grequests 还能做更多的事情吗?从技术上讲,它比我上面概述的程序运行得更快吗?

最佳答案

看看这个:

https://adl1995.github.io/a-comparison-of-response-times-using-urllib-grequests-and-asyncio.html

TL;博士:

“将 aiohttpasyncio 结合使用似乎是最佳选择。它的响应时间比 grequests 缩短了近 50%。”

关于Python Web 抓取 : grequests vs. 多线程请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63419061/

相关文章:

python - grequests 响应的顺序是否与请求的顺序相同?

python - 如何让plotly python在打开html时不自动下载图表?

python - 带列表的 For 循环

Python(合并)创建品牌选择/购买数据集

Python Grequests xml 响应

python - imap 与 grequests 库中的 map

python - 如何使用python从文件中复制特定数据?

python-3.x - 从 python 请求上传时,Django 文件对象始终为 0 字节

python - 如何通过 selenium 将成功登录的状态数据合并到请求 session 中?

python - 使用 Python 的请求进行负载测试?