前言
在练习爬虫时,需要获取表单数据存入字典中,但是需要给原始数据一个个加单引号,相当麻烦,网上查找到的解决方法都不能够完全解决问题,于是我琢磨着自己解决了,现在就分享给大家
一. 解决方法
1.复制表单数据到Pycharm中
2. Ctrl+R 调出正则匹配工具栏
输入以下内容,并点亮图标
(\w+)\: ?\r?(.*\S?)
'$1':'$2',
提醒一下,后面的‘,’也要加上(并非多余)
3. 选中需要添加单引号的内容
点击全部替换
然后问题就解决了
二. 本方法优点和原理
1. 网络上其他的解决方法
参考网络上其他解决方法,与本方法相比,只是 正则表达式不同,在解决此问题时,大多数的正则表达式都是这样:
这种方法并不能解决问题,验证图如下
不仅没有检测到所有数据,而且添加的单引号也不完整。
也有这样的
同样也是检测不完整,虽然选中的加全了单引号,但是加在了前面,不美观
这些方法多多少少都有问题
原理:文章来源:https://www.toymoban.com/news/detail-407118.html
. 匹配除换行符 \n 之外的任何单字符。要匹配 . ,请使用 \. 。
* 匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 \*。
? 匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。要匹配 ? 字符,请使用 \?。
( ) 标记一个子表达式的开始和结束位置。
$ 匹配输入字符串的结尾位置。
\n 匹配一个换行符。等价于 \x0a 和 \cJ。
\S 匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。
\w 匹配字母、数字、下划线。等价于 [A-Za-z0-9_]
\ 将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。例如, 'n' 匹配字符 'n'。'\n' 匹配换行符。
+ 匹配前面的子表达式一次或多次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等价于 {1,}。
2. 此方法讲解
具体的意思就不再解释了,上面都有相应符号的解释,大家可以参考一下。
我就是把前面的识别一切字符的改成了只识别数字和字母,后面也多加了对空白和换行的识别。文章来源地址https://www.toymoban.com/news/detail-407118.html
到了这里,关于Python爬虫—为表单数据快速添加单引号(2021最有效解决方法)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!