python爬虫-将headers+cookies构造标准格式dict

将headers构造为字典格式

accept-encoding: gzip, deflate, br
accept-language: zh-CN,zh;q=0.9
referer: https://search.jd.com/search?keyword=%E8%B1%86%E6%B5%86%E6%9C%BA&enc=utf-8&qrst=1&rt=1&stop=1&vt=2&wq=dou%20jianf%20ji&stock=1&ev=exbrand_%E4%B9%9D%E9%98%B3%EF%BC%88Joyoung%EF%BC%89%5E&uc=0
user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36

通过chrom浏览器获取到headers,笔者之前总是傻瓜式放在程序中,一个一个双引号加,比较繁琐,于是开始写了这个方法,
1. 方法思路如下:
python爬虫-将headers+cookies构造标准格式dict_第1张图片

2. 步骤如下:

  1. 因为三引号支持多行文,用三引号包裹粘贴的headers信息
  2. 以换行符分割a.split("\n")[1:-1]
    1:-1是为了去掉首行和结尾回车的影响
  3. 将每一个的字符串以 : (冒号分割),并且指定分割一次
i.split(":",1) for i in a.split("\n")[1:-1]

这时返回的是n(行数)个列表,每个列表有两个元素,第一个是冒号之前的元素,第二个是冒号之后的元素

  1. 将每一个列表里的第一个值作为字典里面的key,第二个值作为字典里的value
test = {i.split(":",1)[0]:i.split(":",1)[1].strip() for i in a.split("\n")[1:-1]}

注意在这里要加上strip参数,因为中间会空出一个空格,导致将此字典传入headers而请求不出数据。

将cookies构造为字典格式

通过上面的headers构造为字典的思路,我们可以得出cookie构造字典类似的思路:
将cookies按冒号分割,然后获取其=号的字典值

cookies = dict([l.split("=",1) for l in cookie.split(": ")])

如有错误,欢迎指正

你可能感兴趣的:(Python爬虫)