记爬虫小分队(三)

  • 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表示换行了也可以继续匹配

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • re模块手册 本模块提供了和Perl里的正则表达式类似的功能,不关是正则表达式本身还是被搜索的字符串,都可以...
    喜欢吃栗子阅读 4,060评论 0 13
  • 本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例...
    Python程序媛阅读 1,369评论 0 22
  • 今天心情有点低落,听着音乐敲打着我,思绪万千,感觉自己像是一个孤儿,很多时候不知道是自己太要强,还是身边的人太自私...
    不倒翁大站困难兽阅读 334评论 0 0
  • 上大一的妹妹,跟我说她的理想生活是:劈柴,喂马,环游世界,和喜欢的人有一所房子,面朝大海,春暖花开。 我麻溜儿地泼...
    0be7333ea3e5阅读 333评论 5 5
  • 林丹出轨,今天不断地被刷屏,闲暇之余也看了看内容,还有网友的评价。简言之就是12年的童话爱情破碎,孕期出轨嫩模。每...
    心之言意阅读 291评论 0 0