python 爬虫 请求网页内容不一致_Python爬虫偷懒神器 — 快速构造请求头!
点击“Python编程与实战”,选择“置顶公众号”
第一时间获取 Python 技术干货!
我们在写爬虫构建请求的时候,不可避免地要添加请求头( headers ),一般来说,我们只要添加 user-agent 就能满足绝大部分需求了
但这并不是绝对的,有些请求单单添加一个 user-agent 是不能获取到数据的,在不知道是缺少哪个请求头参数的情况下,我一般会先把所有参数全部添加上,然后再逐个排除。
如果是后面这种情况,相信大家都会有这种感觉:手动将浏览器中请求头复制粘贴然后构造成字典里的每一个 键值对 简直太TM太费时间了
所以,本文将介绍几个快速构造请求头的方法,供君选择:
正则一键替换
正则替换指的是利用 Pycharm 的 ctrl+R 替换功能,下面带大家一步一步来演示该操作,我们将浏览器的请求头复制到 Pycharm 中,如下面所示
![](/assets/blank.gif)
然后按住 crtl+R,会出现上下两个输入框,然后勾选 Regx 以及 In selection 这两个选项
在上面框填入要匹配内容的正则表达式:
(.*?): (.*)
第二个填入匹配组后的格式
"$1": "$2",
其中 "$$1 ", "$2" 分别表示匹配组,即匹配成功的原文
填完之后,选中我们刚复制的内容,点击 Replace all 按钮即可
![](/assets/blank.gif)
最后在外层加上 headers = {} 就完成我们要构造的格式了
Pycharm 快捷键
这里再介绍一种利用 Pycharm 快捷键替换方法,常用的快捷键还是要记住,对平常快速代码帮助很大 。
- 第一步
还是以上面复制的请求头为例,按住 Alt 键,同时鼠标定位字典键名结束位置,如下所示,注意看键名旁边都有一个鼠标指针
![](/assets/blank.gif)
- 第二步
输入引号,然后指针再前进两步,在字典值前面输入引号。
![](/assets/blank.gif)
- 第三步
再按下 End 键,在最末尾输入引号及逗号。
最后按下 Home 键,在最前面输入引号,即大功告成!
![](/assets/blank.gif)
和正则替换法一样,在最外层输入 headers = {} 即完成
postman
在浏览器中 Copy as cURL(bash) 我们要构造的请求,如下图所示
![](/assets/blank.gif)
然后打开 postman,选择左上角的 New 旁边的 Import 按钮 ,粘贴我们刚 copy 的内容
![](/assets/blank.gif)
点击 Import, 就回到了发现请求的界面,选择发送按钮下方的 code 键,
![](/assets/blank.gif)
如上图, headers 已生成,不仅支持 Python 还支持其他语言,强大?
网站一键替换
有不少网站都有这个构造功能,但是该网站是我用过的最好用的最强大的
除了能构造请求头,还能单独构造 cookies 同时自动帮我们生成请求的代码。你甚至你不用自己手写代码
同样的在浏览器中 Copy as cURL(bash) 我们要构造的请求,打开网站 https://curl.trillworks.com/
粘贴到左边框后即自动生成,快得很...
![](/assets/blank.gif)
还有多种语言供你选择。
上面便是我介绍的几种方法,是不是很方便,不用再一个一个手动输入了。当然除了上面的方法之外,你也可以自己动手用代码生成,因为都是有一定规律的
推荐阅读
Python 异步 ASGI 服务器及框架
一个高性能的web服务是如何搭建的?
Flask 高并发部署方案详细教程!
THANKS
- End -
点个“在看”必升职加薪喔
python 爬虫 请求网页内容不一致_Python爬虫偷懒神器 — 快速构造请求头!相关推荐
- Python爬虫偷懒神器 — 快速构造请求头!
我们在写爬虫构建请求的时候,不可避免地要添加请求头( headers ),一般来说,我们只要添加 user-agent 就能满足绝大部分需求了 但这并不是绝对的,有些请求单单添加一个 user-age ...
- 添加请求头 retrofit_Python爬虫偷懒神器 — 快速构造请求头!
我们在写爬虫构建请求的时候,不可避免地要添加请求头( headers ),一般来说,我们只要添加 user-agent 就能满足绝大部分需求了 但这并不是绝对的,有些请求单单添加一个 user-age ...
- python如何请求curl_Python爬虫偷懒神器 —— 一键构造请求头!
今天介绍个神奇的网站!堪称爬虫偷懒的神器! 我们在写爬虫,构建网络请求的时候,不可避免地要添加请求头( headers ),以 mdn 学习区为例,我们的请求头是这样的: Python资源共享群:48 ...
- python爬虫post请求翻页_python爬虫如何POST request payload形式的请求
python爬虫如何POST request payload形式的请求 1. 背景 最近在爬取某个站点时,发现在POST数据时,使用的数据格式是request payload,有别于之前常见的 POS ...
- python中requests的常用方法_Python爬虫简介(2)——请求库的常用方法及使用,python,入门,二,requests,常见,和,库中,文官,网...
前言 学习使我快乐,游戏使我伤心.今天rushB,又是白给的一天. HXDM,让我们一起学习requests库的方法和使用,沉浸在代码的世界里.呜呜呜~~ 一.requests库介绍 首先列出requ ...
- python爬虫请求无反应_Python爬虫开发【第1篇】【HTTP与HTTPS请求与响应】
一.HTTP.HTTPS介绍 HTTP协议(超文本传输协议):一种发布.接收HTML页面的方法 HTTPS协议:简单讲是HTTP安全版,在HTTP下加入SSL层 SSL(安全套接层),用于WEB的安全 ...
- python爬虫教材推荐 豆瓣_Python爬虫入门教程:豆瓣Top电影爬取
基本开发环境Python 3.6 Pycharm 相关模块的使用requests parsel csv 安装Python并添加到环境变量,pip安装需要的相关模块即可. 爬虫基本思路 一.明确需求 爬 ...
- python爬虫新浪新闻_python爬虫之获取新浪新闻信息
一:前言 windows平台: 1):谷歌的chrome浏览器:python3.6的软件安装包,需要导入的库有: [python] view plain copy pip install reque ...
- python爬取cctalk视频_python爬虫urllib使用和进阶 | Python爬虫实战二
python爬虫urllib使用和进阶 上节课已经介绍了爬虫的基本概念和基础内容,接下来就要开始内容的爬取了. 其实爬虫就是浏览器,只不过它是一个特殊的浏览器.爬取网页就是通过HTTP协议访问相应的网 ...
最新文章
- Linux基础网络服务概述
- Metasploit profiling工具的利用
- 记录网页爬虫注意的几个问题
- (chap1 网络基础知识)OSI参考模型举例
- 7. SQL -- 创建数据库(表,字段)
- windows XP和ubuntu时间一致
- Java ArrayList removeRange()方法与示例
- 你需要知道的基础算法知识——STL和基础数据结构(五)
- 周口a货翡翠,泸州a货翡翠
- swift网络编程入门应用:天气预报
- 根据中文字符串查询拼音声母
- 智慧医院软件(APP)功能列表
- 单相PWM整流器工作原理与调制方向判断
- 厦门92坐标参数讨论
- 各系列显卡性能参数对比
- 如何快速填充表格公式
- 基于SSM的Web网页聊天室系统
- 企业信息系统集成发展阶段及ESB对企业的价值体现
- C语言反汇编 - 多维数组与指针
- 互联网时代“陨落”,国家发布元宇宙战略的信号对失业和担心失业的我们带来了什么启迪?
热门文章
- C# 中的回车换行符 表示
- IOS15的抽屉效果
- 显示数量_SOLIDWORKS 标注螺纹不显示数量?Why
- 程序员基本功01数组与内存控制
- html文件头自动生成,基于infinispan源码包HtmlGenerator代码生成器通过指定头部、标题、底部等进行生成HTML文件...
- Java中值传递和引用传递原理以及区别
- 用python画爱心再加一行文字_如何理解python一行代码实现一个爱心字符画?
- java url 授权_Java:如何使用UrlConnection发布请求与授权?
- java delphi 三层_三层架构delphi+Java+Oracle模式的实现
- mysql中索引类型索引方法_MYSQL索引的类型和索引的方式