当前位置: 首页 > news >正文

个人网站 组建免费网站推广文章

个人网站 组建,免费网站推广文章,wordpress 会员支付宝,如何交换友情链接目录 一、网络爬虫中的正则表达式和re模块#xff08;一#xff09;数据提取的精确性#xff08;二#xff09;处理复杂的文本结构#xff08;三#xff09;提高数据处理效率 二、正则表达式的内涵#xff08;一#xff09;、常用元字符#xff08;二#xff09;、量… 目录 一、网络爬虫中的正则表达式和re模块一数据提取的精确性二处理复杂的文本结构三提高数据处理效率 二、正则表达式的内涵一、常用元字符二、量词控制前面的元字符出现的次数三、贪婪匹配和惰性匹配四、Python网络爬虫中的常用正则表达式五、Python中的re模块 三、典型案例一. **提取网页中的所有链接**二. **验证用户输入的电子邮件地址是否合法**三. **从文本中提取电话号码** 在 Python 中re模块提供了对正则表达式操作的支持包括 匹配、搜索、替换、分割等功能使得在网络爬虫中方便地运用正则表达式来处理抓取到的数据。 一、网络爬虫中的正则表达式和re模块 一数据提取的精确性 定位特定数据 在网页的HTML或其他文本数据中目标数据往往混杂在大量无关信息中。例如在一个电影网站上要提取某部电影的评分评分数据可能被包裹在特定的HTML标签内。正则表达式可以精确地定位这些数据。比如使用span classrating_num(.*?)/span这个正则表达式可以在HTML中找到电影评分所在的span标签并提取其中的评分数值。 过滤无关信息 网络爬虫抓取的网页内容包含大量不需要的信息如导航栏、广告、版权声明等。正则表达式可以帮助过滤掉这些无关数据。例如要从一个包含大量新闻文章的网页中提取正文内容通过分析网页结构发现正文内容在div classarticle - content标签内可以使用正则表达式div classarticle - content(.*?)/div来提取正文过滤掉其他非正文的HTML元素。 二处理复杂的文本结构 应对多样化的网页结构 不同网站的网页结构各异甚至同一网站的不同页面可能也有不同的结构。正则表达式具有很强的灵活性能够适应这种多样性。例如在一个电商网站上商品价格可能在不同页面以不同的HTML格式呈现。有的可能是span idprice19.99/span有的可能是div classproduct - price19.99/div。通过编写灵活的正则表达式如(span|div).*?(idprice|classproduct - price)(.*?)/(span|div)可以适应这种结构变化来提取价格信息。 处理嵌套结构 网页中的HTML标签常常存在嵌套关系正则表达式可以处理一定程度的嵌套数据提取。例如要从一个包含评论列表的网页中提取每条评论及其回复。评论可能在div classcomment标签内回复在div classreply标签内且嵌套在评论标签下。通过合适的正则表达式可以逐层提取这些嵌套的数据。 三提高数据处理效率 快速匹配 正则表达式引擎经过优化能够在大量文本中快速找到匹配的模式。在处理大型网页或大量网页时这种快速匹配能力尤为重要。例如在爬取一个包含数千条产品信息的电商网站时使用正则表达式可以快速扫描每个产品页面提取诸如产品名称、价格、销量等关键信息而不需要逐个字符去查找和判断。 减少代码复杂度 相较于手动编写复杂的字符串处理逻辑使用正则表达式可以用简洁的模式表达复杂的匹配规则从而减少代码量和复杂度。比如要从一个文本中提取所有的电话号码手动编写代码可能需要多层循环和条件判断。而使用正则表达式d{3}-d{4}-d{4}假设电话号码格式为XXX - XXXX - XXXX可以用很少的代码实现相同的功能。 在Python中re模块提供了对正则表达式操作的支持包括匹配、搜索、替换、分割等功能使得在网络爬虫中方便地运用正则表达式来处理抓取到的数据。 二、正则表达式的内涵 在线正则表达式工具网站在线正则表达式测试 正则表达式Regular Expression是一种用于描述、匹配和操作文本字符串的强大工具。它由一系列字符和操作符组成可以定义一个搜索模式用于在文本中查找、替换或验证符合特定模式的字符串。正则表达式在文本处理、数据验证、搜索引擎、编程语言等多个领域都有广泛应用。 一、常用元字符 普通字符 普通字符本身就匹配自身例如a匹配字符a5匹配数字5。 特殊元字符 .匹配除换行符以外的任意字符。w匹配字母或数字或下划线。s匹配任意的空白符。d匹配数字。n匹配一个换行符。t匹配一个制表符。^匹配字符串的开始。$匹配字符串的结尾。W匹配非字母或数字或下划线。D匹配非数字。S匹配非空白符。a|b匹配字符a或字符b。( )匹配括号内的表达式也表示一个组。[... ]匹配字符组中的字符。[^... ]匹配除了字符组中字符的所有字符。 二、量词控制前面的元字符出现的次数 *重复零次或更多次。重复一次或更多次。?重复零次或一次。{n}重复n次。{n,}重复n次或更多次。{n,m}重复n到m次。 三、贪婪匹配和惰性匹配 贪婪匹配.* 尽可能多地匹配字符。例如对于字符串abcde模式.*会匹配整个字符串。 惰性匹配.*? 尽可能少地匹配字符。例如对于字符串abcde模式.*?会匹配空字符串。 四、Python网络爬虫中的常用正则表达式 匹配URL 例如http[s]?://(?:[a-zA-Z]|[0-9]|[$-_.]|[!*\\(\\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))可以匹配大多数HTTP和HTTPS的URL。 匹配电子邮件地址 例如^[a-zA-Z0-9_.-][a-zA-Z0-9-]\\.[a-zA-Z0-9-.]$可以匹配标准的电子邮件地址。 匹配IP地址 例如^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$可以匹配IPv4地址。 五、Python中的re模块 re.findall(pattern, string) 在字符串string中查找所有符合pattern的子串并返回一个列表。例如 import re lst re.findall(m, mai le fen, mai ni mei!) print(lst) # [m, m, m]re.search(pattern, string) 在字符串string中查找第一个符合pattern的子串如果找到则返回一个匹配对象否则返回None。例如 ret re.search(d, 5点之前你要给我5000万).group() print(ret) # 5re.match(pattern, string) 从字符串的开头开始匹配如果开头不符合pattern则返回None。例如 ret re.match(a, abc).group() print(ret) # are.finditer(pattern, string) 在字符串string中查找所有符合pattern的子串并返回一个迭代器。例如 it re.finditer(m, mai le fen, mai ni mei!) for match in it:print(match.group())三、典型案例 一. 提取网页中的所有链接 使用re.findall和匹配URL的正则表达式可以从网页源代码中提取所有链接。例如 import re import requestsurl https://www.example.com response requests.get(url) links re.findall(http[s]?://(?:[a-zA-Z]|[0-9]|[$-_.]|[!*\\(\\),]|(?:%[0-9a-fA-F][0-9a-fA-F])), response.text) print(links)二. 验证用户输入的电子邮件地址是否合法 使用匹配电子邮件地址的正则表达式可以验证用户输入。例如 import reemail input(请输入你的电子邮件地址) if re.match(^[a-zA-Z0-9_.-][a-zA-Z0-9-]\\.[a-zA-Z0-9-.]$, email):print(电子邮件地址合法) else:print(电子邮件地址不合法)三. 从文本中提取电话号码 使用合适的正则表达式可以从文本中提取电话号码。例如 import retext 我的电话号码是13812345678记得联系我。 phone_numbers re.findall(1[3-9]d{9}, text) print(phone_numbers) # [13812345678]更多爬虫文章见专栏 Python网络爬虫
http://www.hkea.cn/news/14526595/

相关文章:

  • 南通免费网站建设做侵权网站用哪里的服务器
  • wp网站开发南阳高端网站建设
  • wordpress产品网站辽宁建设工程信息网保函保险服务模块
  • 用高权重网站的目录做站群怎么样建的网站403
  • 网站建设 网络推广网站二级栏目
  • 红铃铛网站建设网站开发辅助工具
  • 上海千途网站建设体育视频网站建设
  • 集团网站下分网站 模板wordpress 主题 路径
  • 直播型网站开发百度网盘seo优化
  • 徐州企业自助建站网站建设的软文怎么写
  • 网站设计制作费用多少郑州网络推广平台有哪些
  • asp网站用什么做可以查企业的网站
  • 移动端快速建站企业大型网站开发网站模板设计
  • 东莞网站设计哪家强株洲营销型网站建设
  • h5技术建设网站的知识网站网页区别是什么
  • 国外网站设计师技术先进的网站建设公司
  • 免费企业网站系统源码下载网站建设页面框架
  • 建筑网站首页设计婚庆网站开发的意义
  • 物流网站的建设实训做网站赚钱要多久
  • 福州网站设计大概费用哪儿提供邢台做网站
  • 做网站什么码金沙洲网站建设工作室
  • 网站性能容量的收集与分析怎么做设计方案包括哪些内容
  • 海外产品网站建设做网站的人
  • 沭阳哪里有做网站推广的网站建站维护运营
  • 商城建设网站dell网站的网站设计特色
  • 做虚拟主机网站建站工具cms
  • 网站微信登录怎么做3d模拟设计房子软件
  • 做网站属于什么专业html编辑器哪个软件好用
  • 信用网站标准化建设方案网站单页别人是怎么做的
  • 学校建设网站的意义什么是响应式的网站