如何在多个页面上同时使用美味的汤?

时间:2017-11-18 00:47:00

标签: beautifulsoup request

我用漂亮的汤来刮网站。它有我想要总结的数据页面。然而,每页一页一页地进行,每页大约需要2秒钟,因此我需要几乎一天才能完成我想要的数千页。很多时候只是等待url请求,所以我想我可以通过分离任务并一次运行一百个python脚本来做到这一点。但是有没有办法在一个python脚本中做到这一点?

1 个答案:

答案 0 :(得分:1)

您可以使用multithreading.Pool运行多个线程,但除非您有超级计算机,否则可能不会有数百个线程。运行代码的计算机上的逻辑处理器数量可能是要使用的最佳线程数。 但是,有两件事需要考虑:

  1. 等待url请求时的延迟是由网络瓶颈引起的,而不是程序中的慢速代码。更多的线程可能实际上不会提高整体速度,因为更多的线程不会给你更快的互联网连接。也许两三个线程会比一个线程更快,但是有一个限制你的点互联网速度成为速度的薄弱环节。
  2. 如果您正在搜索的服务器看到您每秒发送多个请求,您可能会因为负载太大而被列入黑名单。通常很好的做法是抓住对服务器的礼貌“重新下载,也就是说,快速连续多次请求向服务器发送垃圾邮件是个坏主意。