python 通过请求将html代码存储在数据库中 去除特殊字符
时间: 2023-11-26 13:06:25 浏览: 66
可以使用 Python 的 `requests` 库来发送 HTTP 请求获取 HTML 页面的源代码,并使用 `BeautifulSoup` 库来解析 HTML 页面。在将 HTML 代码存储到数据库中之前,可以使用正则表达式或其他方法去除其中的特殊字符。
以下是一个简单的示例代码,演示了如何使用 `requests` 和 `BeautifulSoup` 库获取 HTML 页面的源代码,并使用正则表达式去除其中的特殊字符:
```python
import requests
import re
from bs4 import BeautifulSoup
import pymysql
# 发送 HTTP 请求获取 HTML 页面
url = 'https://www.example.com'
response = requests.get(url)
# 使用 BeautifulSoup 解析 HTML 页面
soup = BeautifulSoup(response.text, 'html.parser')
# 获取页面标题和正文内容
title = soup.title.text
content = str(soup.body)
# 去除 HTML 标签和特殊字符
cleanr = re.compile('<.*?>')
content = re.sub(cleanr, '', content)
content = content.replace('\n', '').replace('\r', '').replace('\t', '')
# 将标题和内容存储到数据库中
conn = pymysql.connect(host='localhost', user='root', password='password', db='test', charset='utf8mb4')
cursor = conn.cursor()
sql = "INSERT INTO pages (title, content) VALUES (%s, %s)"
cursor.execute(sql, (title, content))
conn.commit()
cursor.close()
conn.close()
```
在上面的代码中,首先使用 `requests` 库发送 HTTP 请求获取 HTML 页面的源代码。然后,使用 `BeautifulSoup` 库解析 HTML 页面,获取页面的标题和正文内容。接着,使用正则表达式去除 HTML 标签和特殊字符,最后将标题和内容存储到数据库中。
需要注意的是,在存储 HTML 代码到数据库之前,应该先去除其中的特殊字符,以避免存储不必要的数据。
阅读全文