-
2017年4月20日 关于童鞋抓取简书文章阅读和评论的问题(喜欢也是一样的)!
童鞋们发现写的xpath爬取不到,有的时候不要怀疑自己写错了(检查一次代码没写错,那就是没写错)。我们这时候去看网页源代码,会发现这些字段的数据在script标签中,算是异步加载了,我们这里考虑正则来抓取。
- 但童鞋不会正则啊,那这次简单入下门
1.我们先学(.?)的用法,例如罗罗攀这个文本信息,我可以写为罗(.?)攀,这样就能提取罗这个文本。类似的,评论量我可以通过
'"comments_count":(.*?),'
来提取数字信息。
2.re模块使Python语言拥有全部的正则表达式功能。findall函数匹配所有符合规律的内容,并以列表的形式返回结果,举个栗子
import re
text = re.findall('罗(.*?)攀','罗罗攀')[0] #第一个参数为正则表达式,第二个为文本信息
print(text)
#result 罗
所以爬取评论量可写为:
comment = re.findall('"comments_count":(.*?),',html.text,re.S)[0]
#re.S表示换行了也可以继续匹配
正则表达式常用符号有很多,大家可在网上找到,这里给大家一个网址:正则表达式学习