requests beautifulsoup 正则表达式
时间: 2023-08-24 12:09:59 浏览: 94
requests和beautifulsoup都是Python库,正则表达式是一种匹配字符串的工具。
requests库用于发送HTTP请求和处理响应,可以使用正则表达式对响应内容进行匹配和提取。比如:
```
import requests
import re
url = 'https://www.example.com'
response = requests.get(url)
pattern = re.compile('<title>(.*?)</title>', re.S)
result = re.findall(pattern, response.text)
print(result[0])
```
以上代码使用requests库发送GET请求获取网页内容,然后使用正则表达式提取网页标题。re.compile()方法用于编译正则表达式,re.S标志表示.匹配任意字符,包括换行符。re.findall()方法返回所有匹配的结果,result[0]就是第一个匹配结果,即网页标题。
beautifulsoup库用于解析HTML和XML文档,提供了一种更方便的方式来处理网页内容。可以使用正则表达式对beautifulsoup对象进行搜索和提取。比如:
```
from bs4 import BeautifulSoup
import re
html = '<html><head><title>example</title></head><body><p>hello world</p></body></html>'
soup = BeautifulSoup(html, 'html.parser')
pattern = re.compile('<title>(.*?)</title>', re.S)
result = soup.find('title', text=pattern)
print(result.string)
```
以上代码将HTML字符串解析成beautifulsoup对象,然后使用正则表达式搜索网页标题。soup.find()方法返回第一个匹配的标签,text参数表示搜索标签文本,pattern是正则表达式对象。result.string就是搜索结果的文本内容,即网页标题。
阅读全文