在爬虫中, bs4 和 xpath 并不能定位到 js 代码, 因此如果我们想要提取的信息正好在 js 代码里, 就只能用正则表达式了.
一般我们直接搜索网上, 都看到一大堆很长很长的, 都不知道怎么用, 我也是一边看, 一边自己摸索, 猜测一下语法.
src = ‘https://video.pearvideo.com/mp4/adshort/20201209/1607559275348-15521372_adpkg-ad_hd.mp4’
我们要提取这个字符串里 2020xxx 后面的, 怎么做呢? 而且这个时间是每天都会有变化的, 昨天是1209, 今天是1210,以此类推.
ex = ‘https://video.pearvideo.com/mp4/adshort/20\d+/(.*)’
\d代表数字, + 表示出现不止一次, 意思就是不止一位数字.
() 代表提取的内容, 网上都说这是分组,看的不知所措. 如果没有() ,就会把一整行都给提取, 有了() ,就会把符合的一整行里的() 中的部分给提取.
.* 是贪婪模式, 符合的都提取.
()左边的/ 代表从 /开始
正则表达式使用案例二:
大写的D+ 代表有多位非数字