0

我将编写一个计划在大约 10M 页面上运行的多线程爬虫,为了加快速度,我需要同时获取大约 10~ 个不同的页面。

每个爬虫线程将使用不同的代理并将结果推送到队列,另一方面,我将有更多的工作人员从队列中获取结果,解析并将它们插入数据库。

这是正确的方法吗?在队列中保存太多结果会不会有问题?我应该担心锁吗?(使用队列模块)。哪个 HTTP 库最适合我的需求?(httplib2/urllib2)。

创建每个线程时,我应该将请求对象的新实例传递给每个线程,还是应该移动请求对象并在线程中使用其“getPage”函数?

谢谢。

4

2 回答 2

0

尝试请求库(代理的文档部分

于 2012-06-17T13:25:58.187 回答
0

Scrapy是要走的路。

这是描述如何设置代理中间件以使用多个代理的页面:http: //mahmoud.abdel-fattah.net/2012/04/16/using-scrapy-with-different-many-proxies/

于 2012-06-17T14:46:11.753 回答