我有一个关于从网页抓取数据的问题。有些网站对请求有限制,如何在这种情况下进行抓取?
答案 0 :(得分:2)
在抓取网站时,您可能会发现由于您对网站提出的请求太多而导致费率受限。例如,在我允许您发出其他请求之前,我的网站可能会阻止您几秒钟。这些限制可能会根据网站以及您提出请求的次数和频率而变化。
解决这些限制的一种方法是使用您的语言睡眠方法在请求之间稍等一下。在Python中,这是time.sleep(10)
。
如果仍然被阻止,您可以尝试使用增加的重试时间来满足禁止时间。例如,你在某些请求上被阻止,所以等待5秒然后再试一次(并被阻止),等待10秒然后再试一次(并被阻止),等待20秒然后再试一次(并被阻止),等待40秒等等,直到您达到要放弃的限制或服务器允许您成功发出请求。
答案 1 :(得分:1)
对于简单的网络报废,你可以使用流行的python框架,名为" scrappy":
它使用css选择器在HTML文件中选择标记。
对于有一些安全解决方案的网页,您可以使用tor通过获取新会话来更改您的IP地址。
但是如果你的意思是,网站有一些你无法生成它们的标记,你可以使用" selenium"模拟浏览器。