Python爬虫偷懒神器 —— 一键构造请求头

今天给你们介绍一个神奇的网站!堪称偷懒神器!html

咱们在写爬虫,构建网络请求的时候,不可避免地要添加请求头( headers ),以 mdn 学习区为例,咱们的请求头是这样的:python

通常来讲,咱们只要添加 user-agent 就能知足绝大部分需求了,Python 代码以下:web

 1import requests
2
3headers = {
4    #'authority': 'developer.mozilla.org',
5    #'pragma': 'no-cache',
6    #'cache-control': 'no-cache',
7    #'upgrade-insecure-requests': '1',
8    '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',
9    #'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3',
10    #'accept-encoding': 'gzip, deflate, br',
11    #'accept-language': 'zh-CN,zh-TW;q=0.9,zh;q=0.8,en-US;q=0.7,en;q=0.6',
12    #'cookie': 你的cookie,
13}
14
15response = requests.get('https://developer.mozilla.org/zh-CN/docs/learn', headers=headers)
复制代码

可是有些请求,咱们要把特定的 headers 参数添加上才能得到正确的网络响应,不知道哪一个参数是必要的状况下,就要先把全部参数都添加上,再逐个排除。正则表达式

可是手动复制粘贴 headers 字典里的每个键值对太费事了编程

一个不那么方便的解决方案:

用正则表达式或者直接字符串替换,把 headers 字符串直接转化为字典,封装成函数方便之后反复调用。bash

有的人喜欢用这种方法,每次复制headers信息,而后调用本身封装好的函数,但我以为仍是挺麻烦的。cookie

那么还有没有快速一键生成 Python 爬虫请求头的方法呢?

这里给你们介绍两个:网络

  • 网站在线转换
  • Postman

实战演练

抓取网站:https://developer.mozilla.org/zh-CN/docs/learnapp

网站在线转换

1,Chrome 打开开发者选项( f12 )---> network 选项卡 ---> 刷新页面,获取请求 ---> 找到页面信息对应的请求 (经过请求的名称、后缀和 response 内容来判断)curl

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,左上角能够选择编程语言,右上角复制到剪贴板

大功告成!

其实我本人平时都是用第一种,网站比较稳定,基本没出现过异常;有了这个神器就不用本身再构造请求头了,先一键生成,而后再根据需求调一调就行了,十几秒钟就搞定了。建议收藏网址。

https://curl.trillworks.com/

相关文章
相关标签/搜索