通过pycharm控制台输出后的网页源码能匹配,但是网页源代码匹配错误

在使用Pycharm进行网页爬取时,作者发现正则表达式在控制台匹配网页源代码与直接匹配存在差异,原因可能是控制台输出时忽略了某些空白字符。通过增加正则表达式中的空白字符数量,问题得到解决,但此修正后的正则在控制台又无法匹配。提醒开发者注意此类问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在爬一个网站时碰到了这样一个问题,困扰了我好一会,现在写下来和大家分享。

就是我在pycharm控制台输出一个网页的源代码,然后直接使用控制台的正则表达式功能进行匹配,这个正则表达式是能匹配上的,如图:

黄色部分是自动匹配到的内容,只匹配到了一个子串

但是,当我使用这个表达式匹配网页源代码时,发现匹配到了新的一个子串。

我的匹配语句是这样的:

re.findall('\s\s<li><a id="wzabq2".*title=".*?"', resp.text)#resp代表网页的响应

网页响应的源代码编码没有问题

后来我才发现,只要在正则表达式前面再加一个空白字符就行了,如下:

re.findall('\s\s\s<li><a id="wzabq2".*title=".*?"', resp.text)

结果就能输出正确结果。

但是在控制台使用这个新的正则表达式进行匹配,会发现,又匹配不到了。

这说明pycharm在对网页源代码进行输出时,可能忽略了某些空白字符,所以空白字符的数量可能不对。希望大家在开发时注意一下。

 如有错误,敬请指正,礼貌交流,感激不尽

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值