最近爬虫的时候发现自己搞Request Headers 有点繁琐(双引号和逗号加的有点烦),所以就想写个Python代码替我生产Request Headers。
思路:Request Headers 在Python 里是字典类型的,我们直接从浏览器复制的是string类型的,所以就是字符串转字典,不过字符串要加些额外的处理。
代码不难就直接上代码了:
def gen_headers(s):
ls = s.split('\n')
lsl = []
ls = ls[1:-1]
headers = {}
for l in ls:
l = l.split(': ')
lsl.append(l)
for x in lsl:
headers[str(x[0]).strip(' ')] = x[1]
return headers
运行结果:
可以看到结果是正确的。
不过,今天遇到一个奇葩的Request Headers:
可以看到 accept前面有一些乱七八糟的(:auythority,:method,:path,:schme)这些都不要,直接从accept开始复制就好了。
生成的Request Headers 亲测可用!我已经把它打包成Python 模块加到自己的本地Python环境变量里了,不要太爽,妈妈再也不用担心我手动加双引号和逗号了!