python爬虫之快速构造标准格式headers
2017-09-20 23:16
537 查看
0x01 源码
a = ''' Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 Accept-Encoding:gzip, deflate Accept-Language:zh-CN,zh;q=0.8 Cache-Control:max-age=0 Connection:keep-alive Cookie:uuid_tt_dd=1480340313111808904_20170920; Hm_lvt_6bcd52f51e9b3dce32bec4a3997715ac=1505918405; Hm_lpvt_6bcd52f51e9b3dce32bec4a3997715ac=1505918410; dc_tos=owl22x; dc_session_id=1505918405193_0.8442837642502332; __message_sys_msg_id=0; __message_gu_msg_id=0; __message_cnel_msg_id=0; __message_district_code=000000; __message_in_school=0 Host:www.csdn.net If-Modified-Since:Wed, 20 Sep 2017 14:20:09 GMT If-None-Match:W/"59c27919-18436" Upgrade-Insecure-Requests:1 User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.91 Safari/537.36 ''' print({i.split(":",1)[0]:i.split(":")[1] for i in a.split("\n")[1:-1]})
0x02 故事背景
我们在制作爬虫、编写自动访问、用户名密码爆破等一系列与网站自动化交互的脚本时,往往离不开header头的制作,从浏览器上一个一个粘贴,然后制作成字典形式,忒费劲,至少俺是这么想的自从构造了半自动化生成生成header头后,腰也不疼了,腿也不酸了,一口气爬到七楼都不用喘气了,贼开心
废话不多说,上图
0x03 代码解析
在此之前,俺再赘述一下,找到要操作的网站F12(笔者用的是谷歌浏览器)- network(如果没有东西的话,刷新一下网页就好了)- 选择第一个链接 - headers-Request Headers-复制自己所需要的就好了
上图
用三引号包裹粘贴的headers信息,因为三引号支持多行文本
以换行符分割
a.split("\n")[1:-1]
此时返回一个列表,列表元素是各行的字符串,后面的切片操作是因为,咱们在赋值a的时候在开头三引号后面加了回车,结尾的三引号前面加了回车,为了去除这两个回车
将每一个的字符串以 : (冒号分割),并且指定分割一次
i.split(":",1) for i in a.split("\n")[1:-1]
此时返回的是n(行数)个列表,每个列表有两个元素,第一个是冒号之前的元素,第二个是冒号之后的元素
之所以没有re模块来进行多个分隔符进行分割的原因就是,冒号的分割只能进行一次,比如header头里面的
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:54.0) Gecko/20100101 Firefox/54.0
value的值里面存在了冒号,如果分割多次的话,便会产生bug
将每一个列表里的第一个值作为字典里面的key,第二个值作为字典里的value
{i.split(":",1)[0]:i.split(":",1)[1] for i in a.split("\n")[1:-1]}
gameover
0x04 临别感言
笔者特别喜欢用推导式来写东西,感觉特别有趣,因此在本程序中使用了字典推导式最后欢迎各位大表哥再次光临 ^_^
相关文章推荐
- [python爬虫]对html解析读取编码格式,统一转码为utf-8
- 关于Python爬虫无数据库的存储1之存储为csv格式
- python爬虫headers设置后无效的解决方法
- 如何快速赚钱:Python爬虫
- 02Python爬虫---浏览器的模拟Headers属性
- Python 爬虫基础Headers
- [置顶] python爬虫实践——零基础快速入门(四)爬取小猪租房信息
- Python爬虫实践(三)设置Headers
- 复杂的网页爬虫,python获取网页指的格式数据
- [置顶] python爬虫实践——零基础快速入门(六)解决动态页面爬取问题
- Python 爬虫框架 Scrapy 快速使用
- [置顶] python爬虫实践——零基础快速入门(五)将爬取的数据存到本地
- python爬虫之请求(url)构造 —— 寻找参数来源以及中文编码
- 如何快速赚钱:Python爬虫
- Python爬虫设置Headers
- Python3网络爬虫快速入门实战解析
- Python快速爬虫
- python爬虫:将本人博客园文章转化为MarkDown格式
- Python3 爬虫快速入门攻略
- python爬虫入门教程--快速理解HTTP协议(一)