将爬虫爬取的网页添加到数据库中

本文介绍使用Python操作SQLite数据库的方法,包括创建数据库、保存数据及生成数据库等步骤,并提供了详细的代码示例。

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

第一步:新建数据库

def init_db(dbpath):
    sql = '''
        create table movie250
        (
        id integer primary key autoincrement,
        info_link text,
        pic_link text,
        cname varchar,
        ename varchar,
        score numeric ,
        rated numeric ,
        instroduction text,
        info text
        )

    '''  # 创建数据表
    conn = sqlite3.connect(dbpath) #连接数据库,
    cursor = conn.cursor() #创建一个游标
    cursor.execute(sql)  #执行sql
    conn.commit() #提交sql
    conn.close()

这里仅仅是新建的一个数据库,关于数据库的建立,如何连接SQlist在上一篇博客中已结发布了,这里就不在进行详解。关于基础的sql语句,这里都是比较简单的。

第二步:保存数据库

def saveData2DB(datalist, dbpath): #传入两个参数,一个是爬虫爬取的列表,一个是保存的地址
    init_db(dbpath)
    conn = sqlite3.connect(dbpath)
    cur = conn.cursor()

    for data in datalist:
        for index in range(len(data)):
            if index == 4 or index == 5:
                continue
            data[index] = '"' + data[index] + '"'
        sql = '''
                insert into movie250 (
                info_link,pic_link,cname,ename,score,rated,instroduction,info) 
                values(%s)''' % ",".join(data)#join(data)将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串,这里用%s来格式化一个对象为字符    
        print(sql)
        cur.execute(sql)
        conn.commit()
    cur.close()
    conn.close()

这里注意,在保存数据库的时候。每一个字段的名字不要编译错,因为我曾经写错,导致后续的代码出现大范围的报错,很麻烦。

第三步:保存数据,生成数据库

def main():
    baseurl = "https://movie.douban.com/top250?start="
    # 1.爬取网页
    datalist = getData(baseurl)
    # savepath = "豆瓣电影Top250.xls"
    dbpath = "movie.db"
    # 3.保存数据
    # saveData(datalist,savepath)
    saveData2DB(datalist, dbpath)

这里如果有不明白的可以去查看爬虫爬取网页呢一篇博文,这一片文章是承接了上一篇,后续会发布其他的关于网络爬虫,和爬取信息可视化。
这里会生成一个movie.db的数据库。如果想下载我会提供链接地址。
因为后续的项目需要用到该数据库的文件。
https://download.youkuaiyun.com/download/weixin_43165267/15726914

这里是部分数据
在这里插入图片描述
在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

邵乖乖的宋小胖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值