这是简易数据分析系列的第 17 篇文章。
原文首发于博客园:Web Scraper 高级用法——利用正则表达式筛选文本信息
学习了这么多课,我想大家已经发现了,web scraper 主要是用来爬取文本信息的。
在爬取的过程中,我们经常会遇到一个问题:网页上的数据比较脏,我们只需要里面的一部分信息。比如说要抓取 电影的评价人数,网页中抓到的原始数据是 1926853人评价
,但是我们期望只抓取数字,把 人评价
这三个汉字丢掉。
这种类似的操作在 Excel 可以利用公式等工具处理,其实在 web scraper 里,也有一个利器,那就是正则表达式。
正则表达式是一个非常强大工具,它主要是用来处理文本数据的,常用来匹配、提取和替换文本,在计算机程序中有非常广泛的应用。
web scraper 中也内置了正则表达式工具,但只提供了提取的功能。虽然功能有所残缺,对于 web scraper 使用者来说完全够用了,毕竟 web scraper 的定位就是不会写代码的小白,我们只需要学习最基础的知识就可以了。
1.正则表达式初尝
我们先用 web scraper 初步尝试一下正则表达式。这里还是用豆瓣电影做例子,我们先选择电影的评价人数,预览图是这个样子的:
Text 选择器有个 Regex
的输入框,这个就是输入正则表达式的地方。我们输入 [0-9]
,然后再点击预览,是这个样子的:
这时候你应该就明白了, [0-9]
就是匹配一个数字的意思。如果我们要匹配多个数字呢?很简单,后面再加个「