1电脑遭到恶意病毒入侵,不知名的下载站一些文件可能带病毒,下载运行了可能会出现网页打不开现象;
2DNS设置错误,需要修改DNS设置;
3浏览器设置代理服务器选项,所以出现打不开网页情况;
4系统垃圾和网页痕迹较多,没有做定期清理;
5使用百度安全卫士和百度杀毒系统清理功能和系统修复功能,即可解决该类问题。
简单来讲,你通过代码向服务器发送的请求与浏览器向服务器发送的请求不一样,所以你可以通过浏览器获取数据,但是无法通过代码。
首先建议你打开浏览器的开发者工具,推荐使用Chrome浏览器。选中Network一栏之后重新通过浏览器向服务器发送一次请求,然后,你就可以看到你刚才通过浏览器访问服务器资源的流程和数据流向。其中,数据流向包括:
浏览器向服务器发送的请求头
浏览器向服务器发送的请求体
(可能)服务器向浏览器发送的重定向地址及浏览器重新向新的地址发送请求
服务器返回的响应头
服务器返回的响应体
---
你面临的问题很可能是在模拟浏览器发送请求这一步(1、2)。检查代码,修复之。
至于解决方案,既然你可以通过浏览器访问,说明你的IP并没有被服务器禁封,加上你提到用了requests库,我猜测你通过requestsSession()来获取了一个对象或者指定了headers中的Cookie字段来发送请求。这两种方法,服务器都会认为你的多次请求来自同一个客户端,自然访问过快之后,服务器会向此客户端d验证码(服务器端通过Session确认某一个用户,客户端通过Cookie[中的某一条]告诉服务器自己是某Session对应的用户)。
所以,你可以尝试切换一个新的requestsSession()对象来发送请求。更甚之,你可以通过代理IP,使用代理IP需要注意的是,最好选择高匿的IP,并在使用前校验有效性。通过requests使用代理:
proxies = {
"",
"",
}
requestsget(")
若想修改IP地址进行投票,必须采用IP代理,方法如下。
1)以IE浏览器为例,先打开IE浏览器,
2)然后打开“工具”菜单下的“Internet 选项”,
3)进入Internet属性窗口,选择“连接”选项卡,
4)找到“局域网(LAN)设置”这一项,然后点击其下的“局域网设置”按钮,
5)在新窗口中,先勾选“代理服务器”下的“为LAN使用代理服务器”这一项,
6)然后在地址中,填写要代理的IP地址,然后再填写端口,一般可以填为80或8080等等,
7)最后按“确定”,IP代理就设置完成了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)