Luc*_*pan 1 python sleep screen-scraping timeout difference
在循环中抓取多个网站时,我注意到之间的速度差异很大,
sleep(10)
response = requests.get(url)
Run Code Online (Sandbox Code Playgroud)
和,
response = requests.get(url, timeout=10)
Run Code Online (Sandbox Code Playgroud)
也就是说,timeout速度要快得多。
此外,对于这两种设置,我预计在请求下一页之前每页的抓取持续时间至少为 10 秒,但事实并非如此。
我现在使用多处理,但我认为要记住上述内容也适用于非多处理。
time.sleep停止您的脚本运行一定的秒数,而这timeout是等待检索 url 的最长时间。如果在timeout时间到之前检索数据,则将跳过剩余时间。因此,使用timeout.
time.sleep不同的是,它会完全暂停您的脚本,直到它完成睡眠,然后再运行您的请求几秒钟。所以time.sleep每次都需要10多秒。
它们有非常不同的用途,但对于您的情况,您应该制作一个计时器,如果它在 10 秒之前完成,请让程序等待。