Python正则表达式爬虫使用案例解析
正则表达式是一种强大的文本处理工具,可以用来匹配、查找、替换、分割等。在Python中,我们可以使用正则表达式来处理文本。本文将介绍Python正则表达式爬虫使用案例解析,包括提取网页中的图片链接和电子邮件地址。
提取网页中的图片链接
在爬虫开发中,我们经常需要提取网页中的图片链接。下面是一个例子,演示如何使用正则表达式提取网页中的图片链接:
import re
import requests
url = 'https://www.example.com'
response = requests.get(url)
text = response.text
pattern = r'<img.*?src="(.*?)".*?>'
result = re.findall(pattern, text)
for img_url in result:
print(img_url)
在上面的代码中,我们使用requests.get
函数获取网页内容,然后使用正则表达式<img.*?src="(.*?)".*?>
提取链接。这个正则表达式使用.*?
匹配任意字符,使用()
分组,使用?
表示非贪婪匹配。然后,我们使用re.findall
函数进行匹配操作,返回所有匹配结果。最后,我们使用for
循环遍历所有匹配结果,并输出图片链接。
提取网页中的电子邮件地址
在爬虫开发中,我们经常需要提取网页中的电子邮件地址。下面是一个例子,演示如何使用正则表达式提取网页中的电子邮件地址:
import re
import requests
url = 'https://www.example.com'
response = requests.get(url)
text = response.text
pattern = r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b'
result = re.findall(pattern, text)
for email in result:
print(email)
在上面的代码中,我们使用requests.get
函数获取网页内容,然后使用正则表达式\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b
提取电子邮件地址。这个正则表达式使用\b
匹配单边界,使用[]
表示字符集,使用+
匹配前面的字符1次或多次,使用{2,}
匹配前的至少2次。然后,我们使用re.findall
函数进行匹配操作,返回所有匹配结果。最后,我们使用for
循环遍历所有匹配结果,并输出电子邮件地址。
以上是Python正则表达式爬虫使用案例解析。实际应用中,我们可以根据需要灵活运用正则表达式,实现各种文本处理任务。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 正则表达式爬虫使用案例解析 - Python技术站