先说strip方法失效的问题,我的代码一开始是这样的:(此代码为上一篇博客中Python爬虫爬取豆瓣电影中的部分代码)
bd = re.findall(findBd,item)[0]
bd = bd.strip()
print(bd)
执行结果就是并没有去掉前后的空格,百思不得其解,在一篇博客中博主提到: Python中的字符串为不可变类型,则你对bd本身做strip()都是无法更改的期原来的值, Python中的字符串为不可变类型,则你对msg本身做strip()都是无法更改的期原来的值,但是strip()会返回一个新的值,需要再次保存才可以体现!
于是乎我将第二行修改为:
c = bd.strip()
执行成功!
再说说我遇到的re.sub报红问题,因为我是按照别人的教学视频敲得上一篇的爬虫代码,他的视频中的代码是这样的:
bd = bd.re.sub(r'<br(s+)?/>(s+)?'," ",bd) # 去掉<br/>
bd = bd.re.sub(r'/'," ",bd) # 替换 /
执行之后报错“str”类中没有“re”,百度半天也没结果,但是突然我在解决了上面问题后,尝试把代码改为:
bd = sub(r'<br(s+)?/>(s+)?'," ",bd) # 去掉<br/>
bd = sub(r'/'," ",bd) # 替换 /
问题解决!
虽然不知道是为什么(Python小白),但是还是记录一下,万一以后别人和我有一样的问题呢,哈哈