Pycharm中快速设置headers为字典类型数据
Pycharm中快速设置headers为字典类型数据
在每次爬虫时总是要写请求头,从浏览器中复制一大段headers数据,而复制过来以后又要每段数据加上引号将其设置成字典类型,像这样:
看了想必都难受,又要一行一行去找,去加引号。想必要是每次专门为此写一个方法去处理这些headers数据,那也是略显麻烦。
于我来说,能尽量偷懒就尽量选择偷懒的方法,没必要和自己过不去,于是上网上看看有没有可行的解决方法。于是在简书上【转载】pycharm请求头一键转换为字典这一文章看到pycharm自带一个正则替换功能,而作者的正则表达式如下:
"""
源匹配为 (.): (.)$
替换匹配为 "$1": "$2",
"""
似乎并不能有效地匹配headers数据,对于将headers生肉信息快速设置成字典类型,我在正则表达式上我稍作了修改。
先说说使用方法
快捷键打开:Ctrl+R
此时在IDE左上方即可看到正则替换功能框。
将右侧中【Regex】正则功能勾选上
在左侧第一行输入需要匹配的字符串对应的正则表达式,对于一个爬虫工程师来说想必正则不是什么难事。
在第二行中输入所需要修改的样式。
当正则匹配到数据时pycharm会对code进行提示
下一步在第二行中输入需要修改的样式即可,接着就可以一步步选择正则表达式所以配到的数据进行修改了
我对于headers数据进行正则匹配替换的表达式如下:
"""
# 正则源匹配
(.+): (.+)$# 替换匹配
"$1": "$2",
"""
在替换样式当中 $+数字 进行匹配到对应的数据,类似于python中re模块的.group()方法
text = "apple's price is $999 and orange's price is $89"
print(re.search(".*(\$\d+).*(\$\d+)", text).group())
print(re.search(".*(\$\d+).*(\$\d+)", text).group(0))
print(re.search(".*(\$\d+).*(\$\d+)", text).group(1)) # 第一个分组
print(re.search(".*(\$\d+).*(\$\d+)", text).group(2)) # 第二个分组
print(re.search(".*(\$\d+).*(\$\d+)", text).group(1, 2)) # 所有分组
print(re.search(".*(\$\d+).*(\$\d+)", text).groups()) # 所有分组
同理在进行编写HTML、XML等等时,有需要都可以采用这一功能,以及JetBrain的IDE产品都带有这一功能!
Pycharm中快速设置headers为字典类型数据相关推荐
- PyCharm中如何设置作者信息
PyCharm中如何设置作者信息 首先,了解一下在PyCharm中一些常用的预定义变量 $ {NAME} - 在文件创建过程中在"新建文件"对话框中指定的新文件的名称. $ {DA ...
- R语言使用gt包和gtExtras包优雅地、漂亮地显示表格数据:使用gt包可视化表格数据,使其易于阅读和理解、使用gtExtras包添加一个图,显示表中某一列中的数字、并为类型数据添加图像符号标签
R语言使用gt包和gtExtras包优雅地.漂亮地显示表格数据:使用gt包可视化表格数据,使其易于阅读和理解.使用gtExtras包添加一个图,显示表中某一列中的数字.并为类型数据添加图像符号标签 目 ...
- echarts中markline设置后,前端其他数据都显示了,就是不显示markline,请求赐教
Echarts菜鸟,刚刚开始学习,请问echarts中markline设置后,前端其他数据都显示了,就是不显示markline,就是不显示警戒线!!!!请求大神赐教 option5 = { toolt ...
- python中字典类型中的item是什么-Python中的基本数据类型之字典类型
字典类型是键值对构成的数据类型,也就是一个键对应一个值,对于存储某些一一对应数据十分的方便 字典的创建 #在Python中字典类型是dict类型 a = {"name":" ...
- C#中快速设置控件的相关事件
场景 Windows是事件驱动的操作系统. 以窗体为例.事件众多怎样快速设置其事件. 实现 在窗体的设计页面上右击选择属性,然后在点击闪电标识. 这里就可以看到所有的控件的事件. 以单击事件为例,找到 ...
- Anaconda创建新环境及在pycharm中的设置
首先说明,我用的Python包管理器是anaconda. 在pycharm中给项目配置相应环境存在如下两种方法. 一.命令行创建新环境 如果是在cmd窗口里,利用命令的方式创建的新环境,创建的方式就不 ...
- Python保存dict字典类型数据到Mysql,并自动创建表与列
主要是工具类,使用pymysql来创建表与SQL 示例代码 import pymysqlclass UseMysql(object):def __init__(self, user, passwd, ...
- Silverlight中使用MVVM(9)-绑定Enum类型数据
Silverlight中使用MVVM(1)--基础 Silverlight中使用MVVM(2)-提高 Silverlight中使用MVVM(3)-进阶 Silverlight中使用MVVM(4)-演练 ...
- [AHK]PPT中快速设置图形填充色
选中PPT中的图形,然后鼠标移到某个目标颜色上,最后按热键F12,即可取色并将开始选中的图形填充成鼠标下的颜色. pp := ComObjActive("Powerpoint.Applica ...
最新文章
- 【 C 】KR C 与 ANSI C的区别(KR C,ANSI C,C89,C90,C99)(C11)
- ACTIONSCRIPT 3.0著名开源库 大集合
- Boost:bind绑定__cdecl(成员函数)测试程序
- wordpress中非插件统计文章浏览次数
- 100元左右的鼠标推荐
- Intellij idea 快键键
- kafka Failed to send messages after 3 tries 问题解决
- linux中内存挂载到目录下
- 大数据好还是不好_学python好还是大数据好?想学IT,但有点搞不清方向的人可以看看...
- Android 退出登陆后,清空之前所有的activity,进入登陆主界面
- 听说杭州湾大桥因为影响候鸟迁徙被抗议
- 智图—源于QQ空间图片WebP化的思考
- 获得当天的 零点 和 当天的最后 一秒的时刻
- COM in Wine(1)——COM基本概念
- 三维电子沙盘大数据互动触摸交互可视化地理信息系统
- 英语构词法-learning
- 小学老师如何与不同性格的家长沟通?
- Python的异常及处理
- No Miracle
- git 报错信息:Failed to connect to github.com port 443: Timed out
热门文章
- 什么是软件project?
- 初学必懂—vue绑定class的几种方式+绑定内联样式总结
- 【100个 Unity实用技能】☀️ | Unity中自定义 2D Sprite 精灵图显示顺序
- 申请百度问答合作说明
- MySQL 数据库常用指令
- CF700E E. Cool Slogans
- 如何解决undefined reference to `bblib_idft_burst_fxp'编译时函数未定义问题
- web前端-html网页案例-王者荣耀
- 九九乘法表练习_Excel乘法表练习工作簿
- python 批量替换srt文本_自动生成srt格式的脚本(Python实现)