假设我正在使用 Python 中的 Urllib2 库从服务器中检索 Urls 列表。我注意到获取一页大约需要 5 秒钟,而完成我想要收集的所有页面需要很长时间。
我正在考虑那 5 秒。大部分时间都花在了服务器端,我想知道我是否可以开始使用线程库。在这种情况下说 5 个线程,那么平均时间可能会大大增加。每页可能有 1 或 2 秒。(可能会使服务器有点忙)。我怎样才能优化线程的数量,这样我才能获得合法的速度,而不会太用力地推动服务器。
谢谢!
更新:我一一增加线程数,监控抓取100个网址的总时间(单位:分钟)。事实证明,当你将线程数更改为 2 时,总时间显着减少,并且随着线程数的增加而不断减少,但线程带来的“改进”变得越来越不明显。(当你构建太多线程时,总时间甚至会显示反弹)我知道这只是我收获的 Web 服务器的一个特定案例,但我决定分享只是为了展示线程的力量,希望对某人有所帮助一天。