python asyncore 还是线程池用于网络爬虫?

2 投票
1 回答
993 浏览
提问于 2025-04-16 03:53

看起来我可以用Python快速爬虫有两种方法:

  1. 使用线程池和阻塞套接字

  2. 使用非阻塞套接字,比如select、asyncore等

我觉得这里其实不需要用到线程,第二种方案更好。

哪种方法更好,为什么呢?

1 个回答

3

Twisted 通常比 asyncore 更受欢迎。它是一个异步输入输出的框架,也可以和线程池一起使用

在 Python 中,你应该更倾向于使用异步输入输出,而不是线程。这是因为在 Python 的标准实现(CPython)中,线程的表现不太好,主要是因为有个叫 GIL 的东西

撰写回答