2021-01-10

解决爬虫请求[WinError 10060]错误

昨天在爬取诗词名句三国演义时,请求章节信息使用requests.get()会出现**[WinError 10060]错误**,已经超时提示‘由于连接放在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败’的超时异常。

尝试解决

然后在网上搜索了一番,大部分说的是防火墙的问题。也有的是关于使用了代理的。
具体的自己可以尝试下,反正我没有用代理,防火墙关掉也没用。

主动分析

期间偶尔是会请求到部分的章节信息,我就继续的慢慢的编写调试完善代码,觉得问题出在代码的请求部分。这个网站根据的我认识应该是不存在反扒的,但是是我继续分析浏览器的请求头是发现了是有cookies的,加入cookie后也没改变。然后就想到了既然是要用到
cookie,那么对应的就是session。就想到了使用requests的Session()类去请求,然后就成功了。

简单用法

import requests
s = requests.Session()
html = s.get(url1)
html_2 = s.get(url2)

这样访问一个网站的多个链接就可以保持会话了,从而达到不要去寻找确定cookie

最后

通过session去请求,并不常见。具体的应用场景不太明确,还是需要多去尝试,也算是另外的一种请求方法了。

你可能感兴趣的:(python,session,cookie)