PHP前端开发

HTML 段落间距加两格

百变鹏仔 4周前 (09-21) #HTML
文章标签 间距

此代码可用于导入必备库来刮取和解析 web 数据,并将其导入数据库:使用 python 请求库获取 web 页面。使用 beautifulsoup 库解析页面并提取所需数据。使用 sqlite3 库建立数据库连接并创建表。将提取的数据写入数据库表中。提交更改并关闭数据库连接。

使用 Python 和 SQL 刮取和解析 Web 数据

导入必备库

import requestsfrom bs4 import BeautifulSoupimport sqlite3

请求和解析 Web 页面

url = 'https://example.com/page/'response = requests.get(url)soup = BeautifulSoup(response.text, 'html.parser')

提取所需数据

使用 find_all() 和 get_text() 方法从页面中提取所需数据。

titles = soup.find_all('h1')titles = [title.get_text() for title in titles]

建立数据库连接

conn = sqlite3.connect('database.db')c = conn.cursor()

将数据写入数据库

for title in titles:    c.execute('INSERT INTO titles (title) VALUES (?)', (title,))

提交更改并关闭连接

conn.commit()conn.close()

实战案例

使用此代码刮取了 Amazon 首页的顶级产品标题数据,并将其存储在 SQLite 数据库中。以下是演示代码:

立即学习“前端免费学习笔记(深入)”;

import requestsfrom bs4 import BeautifulSoupimport sqlite3url = 'https://amazon.com'response = requests.get(url)soup = BeautifulSoup(response.text, 'html.parser')titles = soup.find_all('h2', {'class': 'a-size-medium s-inline s-access-title'})titles = [title.get_text().strip() for title in titles]conn = sqlite3.connect('amazon_titles.db')c = conn.cursor()for title in titles:    c.execute('INSERT INTO titles (title) VALUES (?)', (title,))conn.commit()conn.close()