Python爬虫—为表单数据快速添加单引号(2021最有效解决方法)


前言

在练习爬虫时,需要获取表单数据存入字典中,但是需要给原始数据一个个加单引号,相当麻烦,网上查找到的解决方法都不能够完全解决问题,于是我琢磨着自己解决了,现在就分享给大家

在这里插入图片描述


一. 解决方法

1.复制表单数据到Pycharm中

在这里插入图片描述

2. Ctrl+R 调出正则匹配工具栏

输入以下内容,并点亮图标

(\w+)\: ?\r?(.*\S?)
'$1':'$2',

提醒一下,后面的‘,’也要加上(并非多余)
在这里插入图片描述

3. 选中需要添加单引号的内容

点击全部替换
在这里插入图片描述

然后问题就解决了
在这里插入图片描述

二. 本方法优点和原理

1. 网络上其他的解决方法

参考网络上其他解决方法,与本方法相比,只是 正则表达式不同,在解决此问题时,大多数的正则表达式都是这样:
在这里插入图片描述
这种方法并不能解决问题,验证图如下
在这里插入图片描述
不仅没有检测到所有数据,而且添加的单引号也不完整。
也有这样的
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
同样也是检测不完整,虽然选中的加全了单引号,但是加在了前面,不美观

这些方法多多少少都有问题

原理:

.	匹配除换行符 \n 之外的任何单字符。要匹配 . ,请使用 \.*	匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 \*。
?	匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。要匹配 ? 字符,请使用 \?。
( )	标记一个子表达式的开始和结束位置。
$	匹配输入字符串的结尾位置。
\n	匹配一个换行符。等价于 \x0a 和 \cJ。
\S	匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。
\w	匹配字母、数字、下划线。等价于 [A-Za-z0-9_]
\	将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。例如, 'n' 匹配字符 'n''\n' 匹配换行符。
+	匹配前面的子表达式一次或多次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"+ 等价于 {
    
    1,}

2. 此方法讲解

具体的意思就不再解释了,上面都有相应符号的解释,大家可以参考一下。
我就是把前面的识别一切字符的改成了只识别数字和字母,后面也多加了对空白和换行的识别。

猜你喜欢

转载自blog.csdn.net/Tom197/article/details/119208697
今日推荐