11《Python 原生爬虫教程》使用正则表达式进行页面提取

作者&投稿:第昆 (若有异议请与网页底部的电邮联系)
~ 上节课我们学习了如何使用 BeautifulSoup 来解析页面,这节课我们来学习下如何使用正则来解析页面。

通过学习正则表达式几个常用函数,可以根据需要对数据进行匹配筛选。

1. 正则表达式简介

在编写爬虫的过程中,我们需要解析网页的内容。作为文本解析利器的正则表达式当然可以运用到我们的爬虫开发中。页面解析过程是从海量的字符串中将所需数据匹配并提取出来,所以在正式的爬虫开发中正则会经常被用到。

正则表达式是对字符串操作的逻辑公式。提取网页数据时,需将源代码转换成字符串,然后通过正则表达式匹配想要的数据。

在我们开始使用正则表达式进行模式查找之前,需要熟悉正则表达式里面的字符的基本含义,这样就能方便地书写正则表达式进行模式匹配。

2. 正则表达式基本语法正则表达式的字符和含义

3. 正则表达式的常用方法

我们开发爬虫使用的是 Python 语言,Python 中如何使用正则表达式呢?Python 内置了正则表达式模块re,不需要安装,直接导入使用即可。

这里主要讲解 re 库中的几种常用方法。这些方法在爬虫开发中经常使用,掌握这些方法后,基本可以解决爬虫开发中需要使用正则表达式的问题。

3.1 re.findall

findall 方法是找到所有符合规则的匹配内容,具体语法如下:

来看个例子,找出所有的字符串中的数字:

效果如下图所示:

3.2 re.search

re.search 扫描整个字符串,并返回第一个成功的匹配。具体语法如下:

来看个例子:

效果如下图所示:

3.3 re.match

如果 string 开始的 0 或者多个字符匹配到了正则表达式样式,就返回一个相应的匹配对象。如果没有匹配,就返回 None;注意它跟零长度匹配是不同的。

实例:

效果如下:

3.4 re.split

用 pattern 分开 string。如果在 pattern 中捕获到括号,那么所有的组里的文字也会包含在列表里。如果 maxsplit 非零,最多进行 maxsplit 次分隔,剩下的字符全部返回到列表的最后一个元素。

实例:

效果如下:

3.5 re.sub

返回通过使用 repl 替换在 string 最左边非重叠出现的 pattern 而获得的字符串。如果样式没有找到,则不加改变地返回 string。repl 可以是字符串或函数;如为字符串,则其中任何反斜杠转义序列都会被处理。

实例:

例子如下:

3.6 re.subn

行为与 sub() 相同,但是返回一个元组 (字符串, 替换次数)。

实例:

例子如下:

4. 小结

这一小节,我们学习了正则表达式的基本语法,以及通过多个例子展示了正则表达式的使用方法,正则表达式难度较高,同学们需要多加练习,才能牢固地掌握。


宣汉县17576774309: 农历1993年10月21号出生的是什么星座、属什么》 -
旁瞿法可: 1993年12月4日 星期六 农历十月廿一日 癸酉年 癸亥月 己未日 射手座,星座是按阳历生日的,癸酉年就是鸡年,属鸡的

宣汉县17576774309: 什么是峰谷电啊?详情是怎么样的? -
旁瞿法可: [编辑本段]一、什么是峰谷电? 答:根据物价局经济贸易委员会电力工业局联合发文的文件精神,居民生活用电峰谷电,是目前在城市居民当中开展试点的一种新电价类别.它是将一天24小时划分成两个时间段,把8:00—22:00共14小时称为峰...

宣汉县17576774309: 登徒浪子的来历是什么?它的含义是什么? -
旁瞿法可: 登徒子 宋玉,是战国后期楚国的一位文学家.在楚怀王、楚襄王时代,曾当过“文学侍从”一类的官,相传他是屈原的学生. 宋玉不但文章出色,仪表也是“风流潇洒,英俊不凡”.当时的大夫登徒子,曾在楚襄王面前说他“好色”,襄王便...

宣汉县17576774309: 三国大时代4梵甲详细信息 -
旁瞿法可: 三国大时代4中,梵甲的详细信息: 装备后自回蓝+2,在汉中正下方山洞获得.另附其他宝物的详细信息: 1梵甲 衣服 自回蓝+2 汉中正下方山洞 2夜明珠 佩戴 自回红+2 苍梧左边迷宫 3丹霞鹿 坐骑 速度+15 和左慈交换 4乐斧 武器 吸血+5 天山...

宣汉县17576774309: 新手学习爬虫,买这本Python核心编程书,怎么样 -
旁瞿法可: 首先最好自查一下自己对Python的了解和熟练程度,看过哪些书,做过什么实例,如果刚入门的话,不推荐这本书,Python编程快速上手~11章是专门的爬虫实例.用Python写网络爬虫~这本书专门写网络爬虫,比较适合新手.也可以上网找一些视频教程,等熟练了再看核心编程

宣汉县17576774309: 本人于1971年11月2日亥时,请五行属性及缺什么? -
旁瞿法可: 日柱算命论一生吉凶: 《庚申建禄》子丑空亡 ★与财有缘,能见吉顺,鸿图有展;此乃勤俭持家的命格,中年能见成就. ★特别喜欢赚钱;惟只适合辛苦钱,投机见败. ★富行动力,做事大胆,人缘好,有能力,中年事职能见成就. ★六亲冷...

宣汉县17576774309: 在《终结的炽天使》中,哪一集有米迦吸优的血 -
旁瞿法可: 二十二集10-20分钟之间

宣汉县17576774309: c1驾驶证实习期扣11分怎么处理 -
旁瞿法可: c1驾驶证实习期扣11分,并驾驶证并没有太大的影响的,扣满12分,才会注销驾驶证的.《机动车驾驶证申领和使用规定》第七十九条机动车驾驶人在实习期内发生道路交通安全违法行为被记满12分的,注销其实习的准驾车型驾驶资格.被注销的驾驶资格不属于最高准驾车型的,还应当按照第七十八条第一款规定,注销其最高准驾车型驾驶资格.持有大型客车、牵引车、城市公交车、中型客车、大型货车驾驶证的驾驶人在一年实习期内记6分以上但未达到12分的,实习期限延长一年.在延长的实习期内再次记6分以上但未达到12分的,注销其实习的准驾车型驾驶资格.

宣汉县17576774309: 精锐教育:“态生两靥之愁,娇袭一身之病”是宝玉对黛玉的第一印象,其中“靥”是指什么? -
旁瞿法可: “靥”是指面颊上的微涡,即酒窝 儿 . 原文: 两弯似蹙非蹙罥烟眉,一双似喜非喜含露目.态生两靥之愁,娇袭一身之病.泪光点点,娇喘微微.娴静时如姣花照水,行动处似弱柳扶风.心较比干多一窍,病如西子胜三分. 这是清曹雪芹《红...

宣汉县17576774309: 工资是怎么算?一个月1500元,本月有31天,上了27天还有一天是法定有薪假期,按底薪 -
旁瞿法可: 劳动者的工资应当为:1500/21.75x28=1931元. 月实际工资=月工资÷21.75*实际出勤天数《关于职工全年月平均工作时间和工资折算问题的通知》 一、日工资、小时工资的折算 按照《劳动法》第五十一条的规定,法定节假日用人单位应...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网