提取header头进行模块化处理
Posted hanxiaobei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了提取header头进行模块化处理相关的知识,希望对你有一定的参考价值。
在进行爬取网上东西的时候一般网站都做了UA的过滤,解决办法就是在代码中加入。
所以才有了本篇提取header头信息单独写成一个模块或者说是函数/类的想法,直接上示例
1、把UA头信息在浏览器中复制出来,并存在一个txt文档中,如下是我提取的示例:
1 Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 2 Accept-Language:zh-CN,zh;q=0.9 3 User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36
2、编写python代码,如下是我编写的python方法,也可以写成类,把公共的东西放在这里
1 ‘‘‘ 2 读取文本内容并生成请求header头信息 3 ‘‘‘ 4 def auto_make_header(): 5 ress_con = open("headers.txt","r",encoding="utf-8").readlines() 6 keyy = [] 7 veluess =[] 8 for ress in ress_con: 9 res = ress.split(":") 10 keyy.append(res[0]) 11 12 veluess.append(res[1].replace(" ","")) 13 14 header = dict(zip(keyy,veluess)) 15 return header 16 17 # print(auto_make_header())
3、在编写请求的时候直接引用过来就可以了,减少了代码的书写,为提高工作效率节约了时间。如下是我编写的小例子
1 import requests 2 from make_header import auto_make_header 3 headers = auto_make_header() 4 5 url = "http://www.baidu.com" 6 res = requests.get(url=url,headers=headers) 7 print(res.text)
好了,本篇的小技巧小案例就到此了,是不是python写代码很简单。
以上是关于提取header头进行模块化处理的主要内容,如果未能解决你的问题,请参考以下文章