支持线程的python web爬虫

支持线程的python web爬虫,python,multithreading,Python,Multithreading,这些天我正在制作一些网络爬虫脚本,但其中一个问题是我的网速很慢。 所以我想,是否有可能通过使用mechanize或urllib等来使用webcrawler和多线程。 如果有人有经验,分享信息,非常感谢。 我在谷歌上找过,但没找到多少有用的信息。 提前感谢关于堆栈溢出线程有一个很好的简单示例。同时向多个网站发出多个请求肯定会改善您的结果,因为您不必在发送新请求之前等待结果到达 然而,线程只是实现这一点的方法之一(我可能会补充说,这是一种糟糕的方法)。不要使用线程。只是不要在发送另一个请求之前等待响

这些天我正在制作一些网络爬虫脚本,但其中一个问题是我的网速很慢。 所以我想,是否有可能通过使用mechanize或urllib等来使用webcrawler和多线程。 如果有人有经验,分享信息,非常感谢。 我在谷歌上找过,但没找到多少有用的信息。
提前感谢

关于堆栈溢出线程有一个很好的简单示例。

同时向多个网站发出多个请求肯定会改善您的结果,因为您不必在发送新请求之前等待结果到达

然而,线程只是实现这一点的方法之一(我可能会补充说,这是一种糟糕的方法)。不要使用线程。只是不要在发送另一个请求之前等待响应!这样做不需要线程


一个好主意是使用。它是一个快速的高级屏幕抓取和网页抓取框架,用于抓取网站并从其页面中提取结构化数据。它是用python编写的,可以同时进行多个并发连接来获取数据(无需使用线程)。它真的很快。您还可以研究它,看看它是如何实现的。

值得一读。

+1这是一段很好的示例代码。我想我自己会用的!谢谢这是非常有用的信息甲烷!和机械化相比怎么样?我的意思是…和速度相比,谢谢advance@paul:它肯定比机械化快。在上面做正确的事情更容易。这是一个很好的资源!:)另外,还有一些小脚本吗?具有从已爬网网页保存结果的函数thanks@paul,我不知道,保存抓取的页面所需的只是为了演示,pickle或sqlite或directdir/file就足够了。