Python如何快速制做请求头?

在写Python爬虫的时候,常常要使用请求头去假装成正经常使用户行为。请求头是向服务器发送请求时传递额外的重要信息。例以下图:python

图片


能够看到请求头里包含了不少信息,Cookie、User-Agent、Host等。把这些信息复制到文件里是这样的:服务器

图片

若是要使用请求头,就要把这些信息存入字典,一个比较笨的方法就是在每一个键和值两边加上单引号。可是这样的话未免太麻烦,并且不太符合咱们会python这个形象。那么有没有更好的方法呢?答案固然是确定的。在介绍这个方法以前,先来学习一下split()。ide

图片


split()是字符串的方法,主要用来根据某个字符去分割字符串,而后把后的结果做为列表返回。下面看一下一些例子。学习

#定义字符串s = 'To be or not to be,that\'s a question.'#默认以空格做为分割符s.split()

图片

#定义字符串s = '我是谁?我从哪里来?我要到哪里去?'#以“我”这个字符做为分割符s.split('我')
#定义字符串s = '小明一把把把把把住了'>#当分割符在字符串里相邻时,会分割出空字符串s.split('把')

图片


观察一下请求头,能够发现每一行都是“键: 值”这样的形式,那么先用split()根据“\n”分割出每一行,而后根据“: ”分割出键值对,便可生成字典。spa

#定义请求头字典headers = {}#定义请求头字符串string = '''User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36'''#用循环将键值对写入请求头字典for line in string.split('\n'):    key = line.split(': ')[0]    value = line.split(': ')[1]    headers[key] = value

图片

相关文章
相关标签/搜索