怎么将爬虫文件保存到mysql

2023年 10月 25日 73.0k 0

在使用爬虫获取网站数据的时候,将数据保存到数据库是一个常见的操作。本文将介绍如何使用Python将爬虫获取到的数据保存到MySQL数据库。

怎么将爬虫文件保存到mysql

首先,需要安装MySQL数据库驱动包。我们使用Python的第三方库pymysql来连接MySQL数据库。

pip install pymysql

接下来,创建一个db_config.py文件存储MySQL数据库的配置信息,并且初始化pymysql的连接。

import pymysql
# 数据库配置信息
HOST = "localhost"
USER = "root"
PASSWORD = "password"
DATABASE = "database_name"
CHARSET = "utf8mb4"
# 初始化连接
def get_conn():
conn = pymysql.connect(
host=HOST,
user=USER,
password=PASSWORD,
database=DATABASE,

)
return conn

创建一个名为spider.py的文件,在这个文件中,我们使用requests和BeautifulSoup库来爬取数据。这里以爬取糗事百科的段子为例,爬取之后保存到MySQL数据库。

import requests
from bs4 import BeautifulSoup
from db_config import get_conn
# 获取网页内容
def get_html(url):
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
response = requests.get(url, headers=headers)
html = response.text
return html
# 爬取糗事百科段子
def get_jokes():
url = "https://www.qiushibaike.com/text/"
html = get_html(url)
soup = BeautifulSoup(html, "html.parser")
jokes = soup.find_all(class_="text")
conn = get_conn()
cursor = conn.cursor()
for joke in jokes:
content = joke.get_text().strip()
insert_sql = f"INSERT INTO jokes(content) VALUES('{content}')"
cursor.execute(insert_sql)
conn.commit()
cursor.close()
conn.close()
if __name__ == '__main__':
get_jokes()

在这个代码段中,我们先向糗事百科网站发送请求获取网页内容,然后使用BeautifulSoup解析网页内容,提取出段子并且将段子保存到MySQL数据库中。在保存之前,我们需要打开数据库连接并且创建一个游标,执行SQL语句,最后关闭连接。

通过上面的代码,我们成功将爬虫文件保存到MySQL数据库中。当然,这只是一个简单的例子,你可以根据自己的需求爬取更多的数据,并且保存到MySQL数据库。同时也可以使用其他数据库,比如MongoDB等。

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论