Python 2.6: 使用urllib2进行并行解析

3 投票
1 回答
850 浏览
提问于 2025-04-16 00:39

我现在正在用 urllib2 从一个网站获取和解析页面。不过,页面数量很多(超过1000个),一个一个处理起来实在太慢了。

我希望能找到一种方法,可以同时获取和解析多个页面。如果这样做是个好主意,那有没有可能?我该怎么做呢?

另外,处理多个页面时,"合理"的并行处理数量是多少呢?我不想给服务器带来太大压力,也不想因为连接太多而被封禁。

谢谢!

1 个回答

3

你可以使用线程,也就是让每个下载在一个单独的线程中运行。不过如果下载的数量很多,这样可能会消耗太多资源。在这种情况下,我建议你看看gevent,特别是这个例子,可能正是你需要的。

(来自gevent.org的介绍:“gevent是一个基于协程的Python网络库,使用greenlet来提供一个高层次的同步API,建立在libevent事件循环之上。”)

撰写回答