python 状态码转字典文本_python爬虫 处理521状态码
用request.get(url)获取js代码
执行函数eval()语句修改为return语句返回cookie值
调用execjs执行js代码获得cookie值
将cookie值转化为字典格式,用request.get(url, headers=headers)方法获取得到正确的网页信息
代码如下:
def getResponse():
"""
获取response
:return:
"""
response = requests.get(startUrl, headers=headers)
return response
def getJslid(response):
"""
:param response:
:return:
"""
cook = response.cookies
return '; '.join(['='.join(item) for item in cook.items()])
def getClearance(response):
"""
:return:
"""
txt = ''.join(re.findall('', response.text))
func_return = txt.replace('eval', 'return')
print(func_return)
content = execjs.compile(func_return)
eval_func = content.call('x')
name = re.findall(r'var (.*?)=function.*', eval_func)[0]
mode_func = eval_func.replace('while(window._phantom||window.__phantomas){};', ''). \
replace('document.cookie=', 'return').replace('if((function(){try{return !!window.addEventListener;}', ''). \
replace("catch(e){return false;}})()){document.addEventListener('DOMContentLoaded',%s,false)}" % name, ''). \
replace("else{document.attachEvent('onreadystatechange',%s)}" % name, '').replace(
r"setTimeout('location.href=location.pathname+location.search.replace(/[\?|&]captcha-challenge/,\'\')',1500);",
'')
content = execjs.compile(mode_func)
cookies = content.call(name)
# print(cookies)
clearance = cookies.split(';')[0]
return clearance
def structureHeaders(cook, clearance):
"""
构造新的headers
:return:
"""
cookie = {
'cookie': cook + ';' + clearance
}
return dict(headers, **cookie)
python 状态码转字典文本_python爬虫 处理521状态码相关推荐
- html状态码521,python爬虫 处理521状态码
在抓取数据的时候往往可以通过状态码来判断返回结果,今天在抓取数据的时候碰到了以前没有碰到过得状态码521,输出它的爬取内容(text),发现是一些js代码.一起探讨一下如何处理521状态码. 用cha ...
- python selenium 进入新标签页_python 爬虫之selenium可视化爬虫
文章目录 前文回顾 快速入门 元素定位 页面操作 等待方式 扩展程序加载 点击此处,获取海量Python学习资料! 之所以把selenium爬虫称之为可视化爬虫 主要是相较于前面所提到的几种网页解析的 ...
- python爬取新闻后提炼_Python爬虫开发的3大难题,别上了贼船才发现,水有多深...
写爬虫,是一个非常考验综合实力的活儿.有时候,你轻而易举地就抓取到了想要的数据:有时候,你费尽心思却毫无所获. 好多Python爬虫的入门教程都是一行代码就把你骗上了"贼船",等上 ...
- python自动发邮件富文本_Python自动化测试发送邮件太麻烦?!一起聊一聊 Python 发送邮件的3种方式...
1. 前言 发送邮件,我们在平时工作中经用到,做为测试人员,在自动化测试中用的也比较多,需要发送邮件给某领导 SMTP是Python默认的邮件模块,可以发送纯文本.富文本.HTML 等格式的邮件 今天 ...
- python爬取网页数据流程_Python爬虫爬取数据的步骤
爬虫: 网络爬虫是捜索引擎抓取系统(Baidu.Google等)的重要组成部分.主要目的是将互联网上的网页下载到本地,形成一个互联网内容的镜像备份. 步骤: 第一步:获取网页链接 1.观察需要爬取的多 ...
- python 读取特定一段文本_python提取文本内容 python读取文本每行指定内容
用"python"怎么提取文件里的指定内容?原来这些年,他痊愈的只是外表,有一种伤,它深入骨髓,在人看不见的地方肆虐. python读取文件内容的方法: 一.最方便的方法是一次性读 ...
- python批量访问网页保存结果_Python爬虫(批量爬取某网站图片)
1.需要用到的库有: Requests re os time 如果没有安装的请自己安装一下,pycharm中打开终端输入命令就可以安装 2.IDE : pycharm 3.python 版本: 3.8 ...
- python爬取微博文本_Python爬虫爬取新浪微博内容示例【基于代理IP】
本文实例讲述了Python爬虫爬取新浪微博内容.分享给大家供大家参考,具体如下: 用Python编写爬虫,爬取微博大V的微博内容,本文以女神的微博为例(爬新浪m站:https://m.weibo.cn ...
- python爬虫数据存储文本_Python爬虫开发系列之五》数据存储为TXT、JSON格式
在上一篇中我们介绍了Beautiful Soup解析库的使用方法,用解析出数据之后,接下来就是存储数据的问题了.数据保存的方式多种多样,最简单的形式是直接保存成文本文件,比如txt/json/csv. ...
最新文章
- 029_CSS水平对齐
- perl语言之列表与数组
- CCF 201403-2 窗口
- Python -- abc module
- vs2019编译c语言提示有病毒,关于VS2019代码编译的问题(C++)
- 跨链项目Cosmos主网升级提案已开启投票 目前投票率为19.10%
- 采用SVM和神经网络的车牌识别(流程图及详细解释)
- 计算机主板电池,如何更换计算机主板电池
- STC学习:按键消抖计数
- java非静态方法调用静态方法_java - 无法对非静态方法进行静态引用
- 【ADS使用:PA的大信号仿真的基本设置】
- js分页组件laypage
- 前端-js网页特效(三)动画效果及原理
- 利用运动学实现导弹仿真飞行
- python下载第三方库超时报错pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host=‘files.pyt
- JAVA-打印星号三角形
- 作为程序员,在挑选 iPad 时我在想什么?
- 【PAT甲级】1131 Subway Map
- ImmuCellAI | 免疫浸润计算工具 R包学习
- Cocos2d-x制作跳棋第三步:棋子动作实现及AI算法思想
热门文章
- @property与@synthesize的差别
- VoIP协议标准浅析
- 牛客网(剑指offer) 第十八题 二叉树的镜像
- PowerShell使用
- PHP XAMPP配置PHP环境和Apache80端口被占用解决方案
- 【数据结构与算法】之深入解析“复制带随机指针的链表”的求解思路与算法示例
- 下列关于物理层设备的叙述中,错误的是( )
- centos 7 No package python-dev available
- 2016年第七届蓝桥杯C/C++ C组国赛 —— 第二题:反幻方
- 排序算法 —— 选择排序