Sure,下面是python3爬取数据至mysql的完整攻略:
1. 安装相关库
在使用python操作mysql之前,需要先安装相关的库:
pip install pymysql requests beautifulsoup4
其中,requests库用于发送网络请求,beautifulsoup4库用于解析html/xml文档,pymysql库则用于连接和操作mysql数据库。
2. 连接MySQL
使用pymysql库连接MySQL数据库,需要提供mysql的用户、密码、主机、端口和数据库名等参数。代码示例如下:
import pymysql
conn = pymysql.connect(
host='localhost',
user='root',
password='123456',
database='test',
charset='utf8mb4'
)
其中,host表示mysql的主机IP地址,user表示mysql的用户名,password表示mysql的密码,database表示要连接的数据库名,charset表示字符集编码。
3. 创建表
如果要将爬取到的数据存储到mysql中,需要先创建表。可以使用sql语句手动创建或者使用pymysql库的游标执行创建表的语句。下面是手动创建一张user表的sql语句示例:
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) DEFAULT NULL,
`age` int(11) DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;
4. 爬取数据
使用requests库发送网络请求获取数据,并使用beautifulsoup4库对数据进行解析。以下是一个简单的爬虫示例:
import requests
from bs4 import BeautifulSoup
url = 'https://www.example.com'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
# 解析数据并存储到mysql中
5. 插入数据
使用pymysql库的游标执行insert语句插入爬取到的数据。以下是一个简单的插入数据的示例:
cursor = conn.cursor()
sql = """
INSERT INTO `user` (`name`, `age`)
VALUES
('John', 18),
('Alice', 21)
"""
cursor.execute(sql)
conn.commit()
其中,name和age是user表的两个字段,John和18表示第一条数据的值,Alice和21表示第二条数据的值。执行execute方法后,使用commit方法提交事务,即将新插入的数据写入mysql中。
6. 关闭连接
当所有操作完成之后,一定要关闭数据库连接,释放资源。代码示例如下:
cursor.close()
conn.close()
以上是python3爬取数据至mysql的完整攻略。另外,如果要爬取其他网站的数据,需要根据实际情况修改爬虫和解析代码。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python3爬取数据至mysql的方法 - Python技术站