在进行爬取网上东西的时候一般网站都做了UA的过滤,解决办法就是在代码中加入。

所以才有了本篇提取header头信息单独写成一个模块或者说是函数/类的想法,直接上示例

1、把UA头信息在浏览器中复制出来,并存在一个txt文档中,如下是我提取的示例:

 Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Language:zh-CN,zh;q=0.9
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方法,也可以写成类,把公共的东西放在这里

 '''
读取文本内容并生成请求header头信息
'''
def auto_make_header():
ress_con = open("headers.txt","r",encoding="utf-8").readlines()
keyy = []
veluess =[]
for ress in ress_con:
res = ress.split(":")
keyy.append(res[0]) veluess.append(res[1].replace("\n","")) header = dict(zip(keyy,veluess))
return header # print(auto_make_header())

3、在编写请求的时候直接引用过来就可以了,减少了代码的书写,为提高工作效率节约了时间。如下是我编写的小例子

 import requests
from make_header import auto_make_header
headers = auto_make_header() url = "http://www.baidu.com"
res = requests.get(url=url,headers=headers)
print(res.text)

好了,本篇的小技巧小案例就到此了,是不是python写代码很简单。

05-11 22:07