用于网络爬虫的 python asyncore 或线程池?

标签 python web-crawler

看来我可以通过两种方式用 python 做快速爬虫:

  1. 带有 block 套接字的线程池

  2. 非 block 套接字选择、asyncore 等。

我认为这里线程中没有真正需要的地方,解决方案 #2 更好。

哪个更好,为什么?

最佳答案

Twisted通常优于 asyncore。它是一个异步 I/O 框架, can also work with thread pools .

在Python中,你应该更喜欢异步IO而不是线程,仅仅因为threads are a second class citizen in its canonical implementation (CPython)由于 GIL。

关于用于网络爬虫的 python asyncore 或线程池?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3673111/

相关文章:

python - Python 3.x 中字符串的内部表示是什么

python - unoconv 将 .xlsx 文件导出为 png 等图像

python - 在字符串变量的情况下,如何在没有显式引号的情况下制作准备好的语句

java - 将 URL 限制为仅种子 URL 域crawler4j

python - Docker Selenium Chromedriver : Unfortunately, 自动访问此页面被拒绝

python - 在python中获取移动宽带调制解调器的MAC地址

python - 仅返回通过的测试数和失败的测试数

python - 碎片或 Selenium : Can we get current html page after clicking a button?

jquery - 是否有技术可以从网络爬虫中省略某些文本

php - 多语言网站和机器人检测