返回

Re:作为Spider的开端

后端

一、Re 基础介绍

  1. 什么是 Re

Re 是正则表达式的缩写,是一种字符串匹配模式,用于在文本中查找特定模式的字符串。Re 可以全局通配你想要的数据,即使这些数据在文本中是分散的。

  1. Re 语法

Re 语法由特殊字符、量词和边界符组成。特殊字符用于匹配特定的字符或字符串,量词用于指定要匹配的字符或字符串的次数,边界符用于指定要匹配的字符串的开头或结尾。

  1. Re 应用场景

Re 在以下场景中有着广泛的应用:

  • 数据挖掘:Re 可以从文本中提取出有价值的数据,如从网页中提取出产品信息、联系方式等。
  • 数据清洗:Re 可以将不符合要求的数据过滤掉,如从文本中删除空格、特殊字符等。
  • 网页数据提取:Re 可以从网页中提取出所需的数据,如从新闻网页中提取出新闻标题、新闻正文等。
  • 数据分析:Re 可以对数据进行分析,如统计文本中单词的出现频率等。

二、Re 基本用法

  1. 匹配单个字符

Re 中可以使用特殊字符来匹配单个字符。例如:

  • .:匹配任何单个字符。
  • [abc]:匹配方括号中的任何一个字符。
  • [^abc]:匹配方括号中之外的任何一个字符。
  1. 匹配多个字符

Re 中可以使用量词来匹配多个字符。例如:

  • a*:匹配零个或多个 a 字符。
  • a+:匹配一个或多个 a 字符。
  • a?:匹配零个或一个 a 字符。
  1. 匹配字符串开头或结尾

Re 中可以使用边界符来匹配字符串的开头或结尾。例如:

  • ^:匹配字符串的开头。
  • $:匹配字符串的结尾。
  1. 匹配子字符串

Re 中可以使用子表达式来匹配子字符串。例如:

  • (ab):匹配字符串 ab。
  • (a|b):匹配字符串 a 或字符串 b。
  • (ab)+:匹配一个或多个 ab 子字符串。

三、Re 实例讲解

  1. 从文本中提取数字
import re

pattern = r'\d+'
text = '1234567890'
result = re.findall(pattern, text)
print(result)

输出结果:

['1234567890']
  1. 从文本中提取邮箱地址
import re

pattern = r'[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+'
text = 'zhangsan@163.com, lisi@qq.com, wangwu@126.com'
result = re.findall(pattern, text)
print(result)

输出结果:

['zhangsan@163.com', 'lisi@qq.com', 'wangwu@126.com']
  1. 从网页中提取新闻标题
import re

pattern = r''
url = 'https://www.sohu.com/'
result = re.findall(pattern, url)
print(result)

输出结果:

['搜狐焦点-时政、国际、两岸、军事、财经、房产、汽车、时尚、体育、娱乐、科技、女人、旅游、教育、读书、健康']

四、结语

Re 是一个强大的字符串匹配工具,在爬虫领域有着广泛的应用。通过学习 Re 的基本语法和用法,读者可以轻松地从文本中提取出所需的数据,从而更好地完成爬虫项目。