【问题标题】:Crawling web pages with limitations有限制地抓取网页
【发布时间】:2017-07-27 04:34:42
【问题描述】:

我有一个关于从网页抓取数据的问题。有些网站对请求有限制,这种情况下如何爬取?

【问题讨论】:

  • 如果您要问的是“我想绕过 robots.txt 文件,我该怎么做?”答案是,“这个限制是有原因的:它是为了让网络爬虫远离它们不属于的区域。”如果这不是你的问题,那么你需要(并且应该)更清楚地知道你想做什么以及为什么。添加您所做的研究以及您为解决问题所做的尝试。

标签: web-crawler


【解决方案1】:

在抓取网站时,您可能会发现速率受限,因为您向网站发出了太多请求。例如,在我允许您提出另一个请求之前,我的网站可能会阻止您几秒钟。这些限制可能会根据站点以及您提出请求的数量和频率而变化。

绕过这些限制的一种方法是使用您的语言睡眠方法在请求之间稍等片刻。在 Python 中,这是time.sleep(10)

如果您仍然被阻止,您可以尝试通过增加重试周期来满足禁令时间。例如,您因某个请求而被阻止,所以等待 5 秒然后重试(并被阻止),等待 10 秒然后重试(并被阻止),等待 20 秒然后重试(并被阻止),等待 40 秒依此类推,直到您达到要放弃的限制或服务器允许您成功发出请求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-18
    • 2020-04-02
    • 1970-01-01
    • 1970-01-01
    • 2021-02-22
    • 2022-11-02
    • 2021-07-30
    相关资源
    最近更新 更多