提取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("\n",""))
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写代码很简单。

 

posted @ 2018-07-22 14:26  韩凯1202  阅读(801)  评论(0编辑  收藏  举报