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为字典类型数据相关推荐

  1. PyCharm中如何设置作者信息

    PyCharm中如何设置作者信息 首先,了解一下在PyCharm中一些常用的预定义变量 $ {NAME} - 在文件创建过程中在"新建文件"对话框中指定的新文件的名称. $ {DA ...

  2. R语言使用gt包和gtExtras包优雅地、漂亮地显示表格数据:使用gt包可视化表格数据,使其易于阅读和理解、使用gtExtras包添加一个图,显示表中某一列中的数字、并为类型数据添加图像符号标签

    R语言使用gt包和gtExtras包优雅地.漂亮地显示表格数据:使用gt包可视化表格数据,使其易于阅读和理解.使用gtExtras包添加一个图,显示表中某一列中的数字.并为类型数据添加图像符号标签 目 ...

  3. echarts中markline设置后,前端其他数据都显示了,就是不显示markline,请求赐教

    Echarts菜鸟,刚刚开始学习,请问echarts中markline设置后,前端其他数据都显示了,就是不显示markline,就是不显示警戒线!!!!请求大神赐教 option5 = { toolt ...

  4. python中字典类型中的item是什么-Python中的基本数据类型之字典类型

    字典类型是键值对构成的数据类型,也就是一个键对应一个值,对于存储某些一一对应数据十分的方便 字典的创建 #在Python中字典类型是dict类型 a = {"name":" ...

  5. C#中快速设置控件的相关事件

    场景 Windows是事件驱动的操作系统. 以窗体为例.事件众多怎样快速设置其事件. 实现 在窗体的设计页面上右击选择属性,然后在点击闪电标识. 这里就可以看到所有的控件的事件. 以单击事件为例,找到 ...

  6. Anaconda创建新环境及在pycharm中的设置

    首先说明,我用的Python包管理器是anaconda. 在pycharm中给项目配置相应环境存在如下两种方法. 一.命令行创建新环境 如果是在cmd窗口里,利用命令的方式创建的新环境,创建的方式就不 ...

  7. Python保存dict字典类型数据到Mysql,并自动创建表与列

    主要是工具类,使用pymysql来创建表与SQL 示例代码 import pymysqlclass UseMysql(object):def __init__(self, user, passwd, ...

  8. Silverlight中使用MVVM(9)-绑定Enum类型数据

    Silverlight中使用MVVM(1)--基础 Silverlight中使用MVVM(2)-提高 Silverlight中使用MVVM(3)-进阶 Silverlight中使用MVVM(4)-演练 ...

  9. [AHK]PPT中快速设置图形填充色

    选中PPT中的图形,然后鼠标移到某个目标颜色上,最后按热键F12,即可取色并将开始选中的图形填充成鼠标下的颜色. pp := ComObjActive("Powerpoint.Applica ...

最新文章

  1. 【 C 】KR C 与 ANSI C的区别(KR C,ANSI C,C89,C90,C99)(C11)
  2. ACTIONSCRIPT 3.0著名开源库 大集合
  3. Boost:bind绑定__cdecl(成员函数)测试程序
  4. wordpress中非插件统计文章浏览次数
  5. 100元左右的鼠标推荐
  6. Intellij idea 快键键
  7. kafka Failed to send messages after 3 tries 问题解决
  8. linux中内存挂载到目录下
  9. 大数据好还是不好_学python好还是大数据好?想学IT,但有点搞不清方向的人可以看看...
  10. Android 退出登陆后,清空之前所有的activity,进入登陆主界面
  11. 听说杭州湾大桥因为影响候鸟迁徙被抗议
  12. 智图—源于QQ空间图片WebP化的思考
  13. 获得当天的 零点 和 当天的最后 一秒的时刻
  14. COM in Wine(1)——COM基本概念
  15. 三维电子沙盘大数据互动触摸交互可视化地理信息系统
  16. 英语构词法-learning
  17. 小学老师如何与不同性格的家长沟通?
  18. Python的异常及处理
  19. No Miracle
  20. git 报错信息:Failed to connect to github.com port 443: Timed out

热门文章

  1. 什么是软件project?
  2. 初学必懂—vue绑定class的几种方式+绑定内联样式总结
  3. 【100个 Unity实用技能】☀️ | Unity中自定义 2D Sprite 精灵图显示顺序
  4. 申请百度问答合作说明
  5. MySQL 数据库常用指令
  6. CF700E E. Cool Slogans
  7. 如何解决undefined reference to `bblib_idft_burst_fxp'编译时函数未定义问题
  8. web前端-html网页案例-王者荣耀
  9. 九九乘法表练习_Excel乘法表练习工作簿
  10. python 批量替换srt文本_自动生成srt格式的脚本(Python实现)