200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 网络爬虫之正则表达式

网络爬虫之正则表达式

时间:2023-01-07 08:11:58

相关推荐

网络爬虫之正则表达式

正则表达式

概述原子元字符模式修正符贪婪模式与懒惰模式正则表达式实例

概述

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。

原子

原子是正则表达式中最基本的组成单位,每一个正则表达式中至少要包含一个原子。

常见的原子类型有:

元字符

元字符就是正则表达式中具有一些特殊含义的字符。

模式修正符

模式修正符可以在不改变正则表达式的情况下,通过模式修正符来改变表达式的含义,从而实现一些匹配结果的调整等功能。

贪婪模式与懒惰模式

贪婪模式:尽可能多的匹配

懒惰模式:尽可能少的匹配

正则表达式实例

匹配.com和.cn的网址

import re string = '<a href="">百度</a>'result = re.findall(r'[a-zA-Z]+://[^\s]*[.com|.cn]', string)

提取豆瓣阅读中的出版社

# !/usr/bin/env python# —*— coding: utf-8 —*—# @Time: /2/7 17:27# @Author: Martin# @File: douban_read.py# @Software:PyCharmimport reimport requestsurl = '/provider/all'# 请求头部伪装headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36'}response = requests.get(url, headers=headers)text = response.text# 正则表达式匹配result_list = re.findall(r'<div class="name">(.*?)</div>', text, re.DOTALL)# 输出结果for result in result_list:print(result)

结果如下所示:

安徽文艺出版社博集天卷百花洲文艺出版社北京阅览文化传播有限公司白马时光八光分文化重庆大学出版社读客文化电子工业出版社第一财经周刊巴别塔文化大星文化凤凰壹力凤凰联动Fiberead果麦文化广西师范大学出版社(上海)有限公司杭州蓝狮子文化创意股份有限公司后浪出版公司华东师范大学出版社华章数媒汉唐阳光华章同人虹膜出版化学工业出版社HarperCollinsHarperCollins UK湖南文艺出版社湖南科学技术出版社今古传奇江苏人民出版社江苏凤凰文艺出版社科幻世界酷威文化理想国联合读创领读文化磨铁数盟浦睿文化Parkstone清华大学出版社青岛出版社人民文学出版社人民邮电出版社人民东方出版传媒上海九久读书人世纪文景四川数字出版传媒有限公司上海译文出版社上海雅众文化上海社会科学院出版社社会科学文献出版社山西春秋电子音像出版社陕西人民出版北京分公司《书城》杂志世界图书出版公司北京公司上海文艺出版社上海人民出版社上海交通大学出版社斯坦威图书上海音乐出版社图灵社区未读新星出版社雪球悬疑世界新华出版社新经典文化电子书译林出版社译言·东西文库译言·古登堡计划阳光博客悦读名品阅文集团华文天下中信出版社中国人民大学出版社中作华文中国轻工业出版社紫图图书浙版数媒中国经济出版社中国民主法制出版社浙江大学出版社湛庐文化浙江文艺出版社中华书局中联百文中国图书进出口(集团)总公司

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。