前言
在python爬虫(上)–请求——关于旅游网站的酒店评论爬取(传参方法)和python爬虫(上)–请求——关于模拟浏览器方法中我们都在讲爬虫如何去做页面请求的问题,这一步的目的是拿到包含所有不管有没有异步加载的数据的页面源码(静态文本),爬虫最难的环节就在这么一段发生在http请求的过程上,可是并不是拿到这么一个包含一大堆标签,一大堆样式代码,一大堆有的没的数据就万事大吉了,我们要的并不是这么一个混乱的东西,我们要干干净净的目的数据,怎么做?提取(Extract)!
而Python中做提取这个步骤的一般是re,BeautifulSoup和lxml这三个模块
RE
RE是Regular Expression,也就是我们经常说的正则表达式,它是基于字符串格式匹配来完成提取的。
Python爬虫入门七之正则表达式,关于RE的用法这一篇博文已经讲得很全面了,我就不再赘述。而我要说明的是,其实RE的方法不用特地去记忆,用多几次就能熟练了自然就记住了,记不住的时候上网查查表就好了,关键是对于什么情况下该用怎样的正则表达式来匹配才是RE的难点,在这一点上是就算你把RE背的滚瓜烂熟如果缺少实践、思考和测试是不可能做的很好的
RE在python中:
re模块是python内置模块,所以不用另外用pip安装,直接import re即可
python下会将正则表达式转换为字节码,利用C语言匹配引擎进行匹配
re模块中常用而且要分清的三个方法:
- re模块中的match()只在字符串开始位置尝试匹配正则,也就是只报告从位置0开始的匹配情况
- 而search()