在爬一个网站时碰到了这样一个问题,困扰了我好一会,现在写下来和大家分享。
就是我在pycharm控制台输出一个网页的源代码,然后直接使用控制台的正则表达式功能进行匹配,这个正则表达式是能匹配上的,如图:
黄色部分是自动匹配到的内容,只匹配到了一个子串
但是,当我使用这个表达式匹配网页源代码时,发现匹配到了新的一个子串。
我的匹配语句是这样的:
re.findall('\s\s
网页响应的源代码编码没有问题
后来我才发现,只要在正则表达式前面再加一个空白字符就行了,如下:
re.findall('\s\s\s
结果就能输出正确结果。
但是在控制台使用这个新的正则表达式进行匹配,会发现,又匹配不到了。
这说明pycharm在对网页源代码进行输出时,可能忽略了某些空白字符,所以空白字符的数量可能不对。希望大家在开发时注意一下。