使用pycharm和MySQL访问古诗文网(https://so.gushiwen.cn/mingjus/),使用BeautifulSoup采集所有名句页数据,爬取每个名句及其出处,并把爬取到的数据保存到MySQL数据库中
时间: 2024-10-17 10:09:53 浏览: 1
在PyCharm环境下,使用BeautifulSoup和Python的requests库来爬取古诗文网(https://so.gushiwen.cn/mingjus/)的所有名句及其出处,然后将数据存入MySQL数据库的操作大致分为以下几步:
1. **安装依赖库**:
- 安装`requests`库,用于发送HTTP请求;`beautifulsoup4`库,用于解析HTML文档。
```
pip install requests beautifulsoup4 mysql-connector-python
```
2. **配置MySQL连接**:
在PyCharm中设置新的数据库连接,提供数据库地址、用户名、密码以及数据库名称。
3. **编写爬虫脚本**:
```python
import requests
from bs4 import BeautifulSoup
import mysql.connector
# 请求URL
url = "https://so.gushiwen.cn/mingjus/"
# 发送GET请求
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
# 解析HTML,查找名句和出处信息(假设它们在特定的HTML标签内)
poems_data = []
for item in soup.find_all('div', class_='poem-item'): # 请替换实际的CSS选择器
title = item.find('h2').text
author = item.find('span', class_='author').text
content = item.find('div', class_='content').text
poems_data.append({'title': title, 'author': author, 'content': content})
# 连接MySQL数据库
db = mysql.connector.connect(
host="your_host",
user="your_user",
password="your_password",
database="your_database"
)
cursor = db.cursor()
# 插入数据到poems表
for poem in poems_data:
insert_query = """
INSERT INTO poems (title, author, content) VALUES (%s, %s, %s);
"""
cursor.execute(insert_query, poem.values())
db.commit()
# 关闭连接
cursor.close()
db.close()
```
记得将上述代码中的"your_host", "your_user", "your_password", 和 "your_database"替换为你的实际MySQL数据库信息。
阅读全文