记爬虫小分队(三)

  • 2017年4月20日 关于童鞋抓取文章阅读和评论的问题(喜欢也是一样的)!


    记爬虫小分队(三)_第1张图片

    童鞋们发现写的xpath爬取不到,有的时候不要怀疑自己写错了(检查一次代码没写错,那就是没写错)。我们这时候去看网页源代码,会发现这些字段的数据在script标签中,算是异步加载了,我们这里考虑正则来抓取。


    记爬虫小分队(三)_第2张图片
  • 但童鞋不会正则啊,那这次简单入下门
    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表示换行了也可以继续匹配

正则表达式常用符号有很多,大家可在网上找到,这里给大家一个网址:正则表达式学习

你可能感兴趣的:(记爬虫小分队(三))