采集网页数据保存到MYSQL数据库

该文介绍了如何通过Python的BeautifulSoup库解析本地HTML文件,然后利用PyMySQL将解析出的搜索指数数据存入MySQL数据库的步骤。涉及到创建数据库、表,以及数据的读取、解析和保存操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、直接采集一个本地网页文件

1.创建一个网页文件date413.html(注:文件的路径后面还会用到)

2.网页文件date413.html中的内容为:

<html>
<head>
    <title>搜索指数</title>
</head>
<body>
    <table>
        <tr><td>排名</td><td>关键词</td><td>搜索指数</td></tr>
        <tr><td>1</td><td>大数据</td><td>187767</td></tr>
        <tr><td>2</td><td>云计算</td><td>178856</td></tr>
        <tr><td>3</td><td>物联网</td><td>122376</td></tr>
    </table>
</body>
</html>

二、 在Windows操作系统中启动MySQL服务进程,创建webdb数据库和search_index表

1.win+r打开小黑窗---->输入cmd

2.输入mysql -u root -p  密码是自己安装mysql时设置的

(注:显示图中的内容表示成功进入mysql命令行窗口)

3.创建webdb数据库和选择使用webdb数据库

create database webdb;

use webdb;

 4.创建search_index表

create table search_index(id int,keyword char(20) , number int);

 三、在PyCharm 中编写网络爬虫程序,读取网页内容进行解析,并把解析后的数据保存到mysql数据库中

 (注:这里需要填你前面创建的网页文件的地址)

import requests
from bs4 import BeautifulSoup
# 读取本地HTML文档
def get_html():
    path = 'D:/vue/vueproject/date413.html'
    htmlfile = open(path,'r',encoding='utf-8')
    html = htmlfile.read()
    return html
# 解析HTML文档
def parse_html(html):
    soup = BeautifulSoup(html,'html.parser')
    all_tr = soup.find_all('tr')[1:]
    all_tr_list = []
    info_list = []
    for i in range(len(all_tr)):
        all_tr_list.append(all_tr[i])
    for element in all_tr_list:
        all_td = element.find_all('td')
        all_td_list = []
        for j in range(len(all_td)):
            all_td_list.append(all_td[j].string)
        info_list.append(all_td_list)
    return info_list
# 保存数据
def save_mysql(info_list):
    import pymysql.cursors

    for item in info_list:
        # 连接数据库
        connect = pymysql.Connect(
            host='localhost',
            port=3306,
            user='root',
            passwd='123456',
            db='webdb',
            charset='utf8'
        )
        # 获取游标
        cursor = connect.cursor()
        # 插入数据
        id = int(item[0])
        keyword = item[1]
        number = int(item[2])
        sql = "insert into search_index(id,keyword,number) values ('%d', '%s','%d')"
        data = (id,keyword,number)
        cursor.execute(sql % data)
        connect.commit()
        print('成功插入数据')

        # 关闭数据库连接
        connect.close()

if __name__ == '__main__':
    html = get_html()
    info_list = parse_html(html)
    save_mysql(info_list)




四、运行

1.在PyCharm 中单机右键Run(运行)

控制台出现3次成功插入数据

2.在mysql命令行窗口中查看数据

select * from search_index;

(看到有三条数据被成功插入了数据库,那么恭喜你,表示我们成功了!)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值