资讯专栏INFORMATION COLUMN

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

charles_paul / 3338人阅读

摘要:但是手动复制粘贴字典里的每一个键值对太费事了一个不那么方便的解决方案用正则表达式或者直接字符串替换,把字符串直接转化为字典,封装成函数方便以后反复调用。有的人喜欢用这种方法,每次复制信息,然后调用自己封装好的函数,但我觉得还是挺麻烦的。

今天介绍个神奇的网站!堪称爬虫偷懒的神器!

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

一般来说,我们只要添加 user-agent 就能满足绝大部分需求了,Python 代码如下:

import requests

headers = {
    #"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,左上角可以选择编程语言,右上角复制到剪贴板

大功告成!

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

https://curl.trillworks.com/

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/45267.html

相关文章

  • 爬虫攻防实践

    摘要:之前在学校曾经用过的方法做过一些爬虫脚本来玩,从正式转前端之后,出于兴趣,我对爬虫和反爬虫又做了一些了解,并且做了一些爬虫攻防的实践。爬虫脚本通常会很频繁的进行网络请求,比如要爬取豆瓣排行榜的电影,就会连续发送个网络请求。 之前在学校曾经用过request+xpath的方法做过一些爬虫脚本来玩,从ios正式转前端之后,出于兴趣,我对爬虫和反爬虫又做了一些了解,并且做了一些爬虫攻防的实践...

    wanglu1209 评论0 收藏0
  • 爬虫攻防实践

    摘要:之前在学校曾经用过的方法做过一些爬虫脚本来玩,从正式转前端之后,出于兴趣,我对爬虫和反爬虫又做了一些了解,并且做了一些爬虫攻防的实践。爬虫脚本通常会很频繁的进行网络请求,比如要爬取豆瓣排行榜的电影,就会连续发送个网络请求。 之前在学校曾经用过request+xpath的方法做过一些爬虫脚本来玩,从ios正式转前端之后,出于兴趣,我对爬虫和反爬虫又做了一些了解,并且做了一些爬虫攻防的实践...

    xiangzhihong 评论0 收藏0
  • 爬虫requests模块 入门到入狱 :基础知识+实战分析

    ?????? ???Hello,大家好我叫是Dream呀,一个有趣的Python博主,小白一枚,多多关照??? ???CSDN Python领域新星创作者,大二在读,欢迎大家找我合作学习 ?入门须知:这片乐园从不缺乏天才,努力才是你的最终入场券!??? ?最后,愿我们都能在看不到的地方闪闪发光,一起加油进步??? ???一万次悲伤,依然会有Dream,我一直在最温暖的地方等你,唱的就是我!哈哈哈~...

    yagami 评论0 收藏0
  • Python爬虫神器pyppeteer,对 js 加密降维打击

    摘要:爬虫神器,对加密降维打击是对无头浏览器的封装。使用等其他无头浏览器的最大优势当然是对加密实行降维打击,完全无视加密手段,对于一些需要登录的应用,也可以模拟点击然后保存。请求过滤你的那一段页面自动下拉脚本 爬虫神器pyppeteer,对 js 加密降维打击 pyppeteer 是对无头浏览器 puppeteer的 Python 封装。无头浏览器广泛用于自动化测试,同时也是一种很好地爬虫思...

    Karuru 评论0 收藏0
  • Python 从零开始爬虫(零)——爬虫思路&requests模块使用

    摘要:定制筛选器,对内容进行筛选重点。审查元素这是浏览器自带的工具,提供抓包和检查网页源码的功能,供使用者分析网页。超时设置,如果服务器在指定秒数内没有应答,抛出异常,用于避免无响应连接,整形或浮点数。返回连接状态,正常。 前言 python 3.6 !! 本爬虫系列是面对有Python语法基础的读者写的,如果你没学过python,emmmm.....也没关系,你或许能从每篇文章中学到一些...

    YanceyOfficial 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<