如何在Python中加速Beautifulsoup?

Ham*_*ama -1 python beautifulsoup python-2.7

我尝试使用Python中的Beautifulsoup解析50 000个url.解析在循环中工作:

我发现解析一个页面的时间是15-18秒.从第一页开始,我会抓住20个元素.

为什么Beautifulsoup工作这么慢?如何在Python中加速Beautifulsoup?

ale*_*cxe 6

确保你了解你的瓶颈.

第一个也是主要问题不是HTML解析 - 它是"解析在循环中工作".

这意味着代码是同步/阻塞的 - 在完成当前的代码之前,您不会处理下一个URL.这绝对不可扩展.

要解决这个问题,请切换到异步方法 - 切换到例如Scrapyweb-scraping框架 - 这是扩展Web抓取项目的最自然的举措.

另见: