gpt4 book ai didi

Python 网络抓取 : difference between sleep and request(page, 超时=x)

转载 作者:行者123 更新时间:2023-12-02 03:57:49 26 4
gpt4 key购买 nike

当循环抓取多个网站时,我注意到它们之间的速度差异很大,

sleep(10)
response = requests.get(url)

和,

response = requests.get(url, timeout=10)

也就是说,timeout要快得多。

此外,对于这两种设置,我预计在请求下一页之前每页的抓取持续时间至少为 10 秒,但事实并非如此。

  1. 为什么速度会有这么大的差异?
  2. 为什么每页的抓取持续时间少于 10 秒?

我现在使用多处理,但我想记住上述内容也适用于非多处理。

最佳答案

time.sleep 停止您的脚本运行一定的秒数,而 timeout 是等待检索 url 的最长时间。如果在 timeout 时间到之前检索到数据,则将跳过剩余时间。因此,使用 timeout 可以花费不到 10 秒的时间。

time.sleep 不同,它会完全暂停您的脚本,直到它完成休眠,然后再花几秒钟运行您的请求。所以time.sleep每次都需要10多秒。

它们的用途非常不同,但对于您的情况,您应该制作一个计时器,这样如果它在 10 秒之前完成,就让程序等待。

关于Python 网络抓取 : difference between sleep and request(page, 超时=x),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43169900/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com