【问题标题】:How do I keep a request alive?如何保持请求有效?
【发布时间】:2021-08-20 23:00:57
【问题描述】:

我想抓取一个站点,但我需要在站点中等待 30 秒才能获得我要查找的内容。

这就是我现在得到的:

import requests

url = 'https://sheldon.sdarot.tv/w/SD/480/57/153183/153183.mp4?token=Gfc7vmObqcRRjiJKSgwJnQ&time=1622659950&uid=457724'

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:80.0) Gecko/20100101 Firefox/80.0'}
proxies = {
    'http': 'http://' + "185.169.198.98:3128",
    'https': 'http://' + "185.169.198.98:3128",
}

s = requests.Session()

r = s.get(url, verify=True, headers=headers, proxies=proxies)

我该怎么做?

【问题讨论】:

  • time.sleep(30)
  • 您的用例可能更适合selenium
  • 具体来说,请记住requests只能将原始页面上的文本传递给您。如果您的浏览器中的页面发生更改,那是因为正在运行的 Javascript 代码正在更改页面。您没有运行 Javascript,因此无论您等待多长时间,您都不会看到这种变化。如果你需要 Javascript,那么你需要一个真正的浏览器,这就是 selenium 所做的。

标签: python python-requests keep-alive


【解决方案1】:

您会收到来自服务器的响应,因此您作为客户端无法绕过他们的身份验证。 token=Ym8kbsZ0FjVJisOJlA-C5A:这是您等待的时间的批准。 您可以尝试使用 selenium 自动为您等待时间,但就是这样

【讨论】:

    猜你喜欢
    • 2012-07-07
    • 1970-01-01
    • 2019-12-28
    • 2021-09-27
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 2016-02-14
    • 2019-04-16
    相关资源
    最近更新 更多