如何快速的生成一个Python爬虫请求头
今天就跟大家聊聊有关如何快速的生成一个Python爬虫请求头,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
python可以做什么
Python是一种编程语言,内置了许多有效的工具,Python几乎无所不能,该语言通俗易懂、容易入门、功能强大,在许多领域中都有广泛的应用,例如最热门的大数据分析,人工智能,Web开发等。
请求头:
一般来说,我们只要添加 user-agent 就能满足绝大部分需求了,Python 代码如下:
import requestsheaders = { #'authority': 'developer.mozilla.org', #'pragma': 'no-cache', #'cache-control': 'no-cache', #'upgrade-insecure-requests': '1', 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 YaBrowser/19.7.0.1635 Yowser/2.5 Safari/537.36', #'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3', #'accept-encoding': 'gzip, deflate, br', #'accept-language': 'zh-CN,zh-TW;q=0.9,zh;q=0.8,en-US;q=0.7,en;q=0.6', #'cookie': 你的cookie,}response = requests.get('https://developer.mozilla.org/zh-CN/docs/learn', headers=headers)
但是有些请求,我们要把特定的 headers 参数添加上才能获得正确的网络响应,不知道哪个参数是必要的情况下,就要先把所有参数都添加上,再逐个排除。
但是手动复制粘贴 headers 字典里的每一个键值对太费事了
一个不那么方便的解决方案:
用正则表达式或者直接字符串替换,把 headers 字符串直接转化为字典,封装成函数方便以后反复调用。
有的人喜欢用这种方法,每次复制headers信息,然后调用自己封装好的函数,但我觉得还是挺麻烦的。
那么还有没有快速一键生成 Python 爬虫请求头的方法呢?
这里给大家介绍两个:
网站在线转换
Postman
实战演练
抓取网站:https://developer.mozilla.org...
网站在线转换
1,Chrome 打开开发者选项( f12 )---> network 选项卡 ---> 刷新页面,获取请求 ---> 找到页面信息对应的请求 (通过请求的名称、后缀和 response 内容来判断)
2,右键,copy ---> copy as cURL (bash),注意不是【copy as cURL (cmd)】
3,打开网站,https://curl.trillworks.com/,粘贴 cURL (bash) 到左边 curl command,右边会自动出 Python 代码
4,生成代码如下图
5,print ( response.text ) 就可以直接打印网页源代码啦!
Postman
1,下载 postman ( Chrome 也有个 postman 的插件,操作应该差不多)
2,打开 postman,弹出的界面可以直接关掉
3,import --> paste raw text,在 Chrome 里复制 curl (bash),粘贴到下面的对话框里,点击 import 按钮
4,点击 send,模拟网络请求,下方可查看源代码
5,确保源代码正常后,点击 code
6,左上角可以选择编程语言,右上角复制到剪贴板
看完上述内容,你们对如何快速的生成一个Python爬虫请求头有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网行业资讯频道,感谢大家的支持。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341