爬虫返回状态码“521” 解决方案 | 设置Cookie解决
问题:在爬虫某个网页时,返回状态码为”521“,如何解决?
Code:
import requestsdef get_one_page(url):headers = {'User-Agent' : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36'}response = requests.get(url, headers=headers)print(response.status_code)print(response.text)if response.status_code == 200:return response.textreturn Nonedef main():url = 'http://sou.chinanews.com/search.do?q=社会责任报告'html = get_one_page(url)print(html)if __name__ == "__main__":main()
521
<script>document.cookie=('_')+('_')+('j')+('s')+('l')+('_')+('c')+('l')+('e')+('a')+('r')+('a')+('n')+('c')+('e')+('=')+(-~[]+'')+([2]*(3)+'')+(+!+[]+'')+(2+6+'')+(0+1+0+1+'')+((+true)+'')+((1|2)+'')+(3+3+'')+((1+[0])/[2]+'')+(~~[]+'')+('.')+(-~0+'')+((+[])+'')+(0+1+0+1+'')+('|')+('-')+(-~[]+'')+('|')+('v')+('Q')+((+true)+'')+('%')+(1+1+'')+('F')+(9+'')+('o')+('U')+('C')+('e')+('k')+('F')+('j')+('M')+('g')+('u')+('I')+('S')+('U')+('c')+(-~[6]+'')+('t')+('p')+('Z')+((1+[4]>>1)+'')+('T')+('w')+('M')+('%')+(1+2+'')+('D')+(';')+('m')+('a')+('x')+('-')+('a')+('g')+('e')+('=')+((1+[2]>>2)+'')+(6+'')+((+false)+'')+((+false)+'')+(';')+('p')+('a')+('t')+('h')+('=')+('/');location.href=location.pathname+location.search</script>
解决:
- 需要在
headers
中设置Cookie
具体Cookie值可在此处查找
import requestsdef get_one_page(url):headers = {'Cookie' : 'cnsuuid=592bc212-6657-6d5a-3976-edbd5b8d16d91776.8981184307827_1618149399374; __jsluid_h=559aef92e2b4d5042d87311134785652; Hm_lvt_0da10fbf73cda14a786cd75b91f6beab=1618149644; Hm_lpvt_0da10fbf73cda14a786cd75b91f6beab=1618149644; zycna=wTwYuJHZjO4BATr5cC7Bsjiw; __jsl_clearance=1618212323.32|0|JdK%2FRKjgYJevFTeA6GHCHdyN%2Bd8%3D; JSESSIONID=F2521D76E6131521ACDD4458E233CEBD','User-Agent' : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36'}response = requests.get(url, headers=headers)print(response.status_code)print(response.text)#print(response.cookies)if response.status_code == 200:return response.textreturn Nonedef main():url = 'http://sou.chinanews.com/search.do?q=社会责任报告'html = get_one_page(url)print(html)if __name__ == "__main__":main()
爬虫返回状态码“521” 解决方案 | 设置Cookie解决相关推荐
- 爬虫遭遇状态码521陷阱 破解js加密cookie
最近接了个小单,遇到一个很头疼的问题,返回的状态码无限521,在网上查阅了各种资料后,终于解决了问题返回200. 首先咱们先贴上网址:点击打开链接 首先我们按照传统的方法: import reques ...
- 爬虫遭遇状态码521的方法
在爬66ip代理的时候,发现一直返回的是521,在CSDN看了很多大神的解决方法,感觉很厉害(膜拜一下),也挺麻烦的,我自己试了selenium就成功了,而且也挺快的,简单代码如下: # 设置无界面 ...
- html状态码521,python爬虫 处理521状态码
在抓取数据的时候往往可以通过状态码来判断返回结果,今天在抓取数据的时候碰到了以前没有碰到过得状态码521,输出它的爬取内容(text),发现是一些js代码.一起探讨一下如何处理521状态码. 用cha ...
- 爬取巴比特快讯遇到状态码“521”
最近在爬区块链相关的快讯,上周巴比特改版后重写了爬虫,跑了一天就挂了.原来是网站使用了加速乐的服务,爬虫每次都返回521的状态码. 浏览器访问网站时: 第一次请求:返回521状态码和一段js代码.js ...
- zabbix自动发现url以及对http返回状态码监控实现
扩展 http 请求方法以及返回状态码的类型和含义 服务器状态码 1.200 OK表示从客户端发来的请求在服务器端被正常处理了.2.204 No Content 该状态码代表服务器接收的请求已成功处理 ...
- ajax判断成功状态码,Ajax返回状态码200,成功函数不触发(Ajax returns status code 200, success function not triggering)...
Ajax返回状态码200,成功函数不触发(Ajax returns status code 200, success function not triggering) 关于这一点有很多话题,但没有一个 ...
- CEF3:https 请求返回状态码canceled
CEF3:https 请求返回状态码canceled 客户端项目中浏览器内核用的cef3,最近在测试的时候 服务器配置的为https但是使用IP访问的.像如果 https服务器并没有完全安装正规的配置 ...
- python-网页请求返回状态码429
在做读取本地cookies免登陆直接留言时,代码没有报错,但返回状态码为429,返回结果为:<Response [429]> 表示在短时间内,用户发送了太多的请求,超出了"频次限 ...
- 返回状态码304 Not Modified详解
第一次访问 200 鼠标点击二次访问 (Cache) 按F5刷新 304 按Ctrl+F5强制刷新 200 在客户端向服务端发送http请求时,若返回状态码为304 Not Modified 则表明此 ...
最新文章
- NCEPU:线下组队学习周报(008)
- 用户态线程在AI中的应用
- Uvalive 4043 - Ants(二分图完美匹配)
- python手册中文版apk-Go、Python 语言解析安卓 APK 包
- 洛谷 [P2590] 树的统计
- 系统测试方案如何写?
- java学习笔记2022.1.11
- 聊聊Unity项目管理的那些事:Git-flow和Unity
- Rosie's Frankly Speaking
- 云专网和云专线的区别_云专线网络接入解决方案
- 信息与计算机科学学校排名,2021中国信息与计算科学专业大学排名 最好的高校排行榜...
- 你所不知道的VoIP通信技术?
- 初学C语言——三位数倒序
- 利用排序规则特点计算汉字笔划和取得拼音首字母
- Fusion APP-检查软件更新-远程公告
- tig - 必知的git界面化工具
- 1002. 写出这个数 (20)练习
- Android支持播mp4的文件管理,Android - 简单使用VideoView播放MP4
- 软考软件评测师备考攻略
- SOJ 4583 动态规划之分组背包