python爬虫时状态200却返回超时

在爬取网页时碰见如下问题:

url = __fc_cb_getplay_url()
resp = requests.get(cb_getplay_url,headers=dic,timeout=(3,7),data=data)
print(resp)
print(resp.text)

代码:

img


返回值:

img


不会解决啊

在这种情况下,请求返回状态码200表示服务器成功处理了请求并返回了响应。然而,由于超时(timeout)时间的存在,请求在规定的时间内没有收到完整的响应内容,因此被认为是超时。

有时候,服务器的响应可能过于缓慢,由于网络问题、服务器负载过重等原因导致请求时间过长,超时时间过早到期也会导致类似的问题。在这种情况下,需要增加超时时间或者对代码进行优化以改善请求响应时间,确保能够在规定时间内获取到完整的响应内容。

  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7398290
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:毕设必备!Python智慧教室:考试作弊系统、动态点名等功能
  • 除此之外, 这篇博客: Python爬虫拓展应用:最新版本问卷星自动刷,包括解决智能验证、滑块等问题中的 代码解释 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 1.定位属性元素。通过属性定位元素,第x题就是qx,第y个选项就是_y,例如Q1的"//a[@rel=‘q1_1’]"中,'q1_1’表示第一题的第一个选项,因此,可以通过定位属性元素,来确定某个选项的选择序号。
    2.概率确定。利用if、elif等语句确定每个选项的概率,例如:

    # 处理Q5
            # 生成随机数,决定点哪个按钮
            q5 = random()
            if 0 <= q5 <= 0.25:
                driver.find_element_by_xpath("//a[@rel='q5_1']").click()
            elif 0.25 < q5 <= 0.50:
                driver.find_element_by_xpath("//a[@rel='q5_2']").click()
            elif 0.50 < q5 <= 0.75:
                driver.find_element_by_xpath("//a[@rel='q5_3']").click()
            else:
                driver.find_element_by_xpath("//a[@rel='q5_4']").click()
    

    这就代表:
    随机数q5在0~0.25的时候,选择A选项;
    随机数q5在0.25~0.5的时候,选择B选项;
    随机数q5在0.5~0.75的时候,选择C选项;
    随机数q5在其他时候,选择D选项;
    因此,可以通过改变条件语句的判定条件来确定概率。

    好了,暂时更这么多…最近导师一直催工作,代码可用,解释有空再续更。

  • 您还可以看一下 韩先超老师的python运维和开发实战-基础篇课程中的 编写后台管理员管理前台会员信息系统小节, 巩固相关知识点