【问题标题】:Web Scraping (Python) Multiple Request Runtime too Slow [closed]Web Scraping(Python)多个请求运行时太慢[关闭]
【发布时间】:2020-04-19 10:43:45
【问题描述】:

我正在从事一个个人项目,我需要从不同页面执行多个请求以抓取关键字和抽象数据(约 800 个请求)。每次运行我的程序都需要 30 分钟来抓取所有数据。

我正在考虑两种加快运行时间的方法:

  1. 将数据读入 CSV 文件一次,然后使用 panada 从 CSV 文件中读取数据以备将来参考
  2. 创建一个 MySQL 数据库并在其中存储数据。

这两种方法可行吗?如果我能得到一些见解,那就太好了。 谢谢

【问题讨论】:

  • 仅供参考,它是 scrape(和 scrapingscraperscraped)不是废品。 “废弃”的意思是像垃圾一样扔掉。

标签: python web-scraping beautifulsoup request


【解决方案1】:

有一些scraping经验,您有多种选择,可以使用 requests 库进行 GET 和 Post。 -> 请记住保持会话。

或者然后使用框架作为scrapy

以最佳方式抓取的主要内容是:

  1. 拆分工作[1];
  2. 使用大量尝试/异常处理并保存错误 [2];
  3. 如果您抓取很多,请限制您的请求以避免被阻止[3];
  4. 保存每个步骤的信息;

如果您迷路了,请使用浏览器上的检查工具查看网络调用:)

[1] - 超时非常耗时,并且会停止您的进程,直到发生超时异常,拆分您的工作将对此有所帮助。 [2] - 可能会发生几个错误,并以一个简单的错误“停止”您的所有工作。使用 try 并捕获异常将允许您保存错误并稍后处理它。保存您正在工作的位置将允许您稍后恢复它。

[3] - 如果您每分钟发出多次请求,有些网站会屏蔽您。

【讨论】:

  • 仅供参考,它是 scrapescraping 不是报废或报废
  • 你是对的@barny。谢谢你纠正我。它让我检查并纠正我的假设!再次感谢您
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-02-14
  • 1970-01-01
  • 2013-03-24
  • 1970-01-01
  • 1970-01-01
  • 2016-07-18
  • 1970-01-01
相关资源
最近更新 更多