SQLite数据库最多能保存多少数据?

SQLite 是一个 C 语言库,它实现了一个 小型、 快速、 自包含、 高可靠性、 全功能的 SQL 数据库引擎。SQLite 是世界上使用最广泛的数据库引擎。SQLite 内置于所有手机和大多数计算机中,并捆绑在人们每天使用的无数其他应用程序中。

在使用SQLite过程中,一直有个疑惑SQLite最多能存储多少数据?在一番检索后发现SQLite的一些限制:

单行数据最大存储:10 亿字节≈953MB

单表最大列数:2000列(最好不超过100列)

单条执行sql语句长度:10 亿字节≈953MB

最多支持表数量:20 亿张表

最大数据库大小: 281 TB

来源:

SQLite限制 | SQLite中文网

就算说SQLite最多能保存281TB数据。

所以不必担心SQLite限制,还是看看硬盘有没有这么大呀。

好的,以下是代码: ```python import requests from bs4 import BeautifulSoup import sqlite3 import time # 设置请求头信息 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'} # 请求网页并解析数据 def parse_html(url): response = requests.get(url, headers=headers) soup = BeautifulSoup(response.content, 'html.parser') return soup # 获取电影信息 def get_movies(): # 定义电影信息列表 movies_list = [] # 循环获取每一页的电影信息 for i in range(0, 300, 20): url = f'https://movie.douban.com/top250?start={i}&filter=' soup = parse_html(url) # 解析电影信息 for item in soup.find_all('div', class_='item'): title = item.find('div', class_='hd').a.text.strip() info = item.find('div', class_='bd').p.text.strip() rating = item.find('span', class_='rating_num').text.strip() summary = item.find('span', class_='inq').text.strip() # 将电影信息保存到列表中 movie = (title, info, rating, summary) movies_list.append(movie) # 设置爬虫间隔时间,避免被封IP time.sleep(2) return movies_list # 将电影信息保存数据库中 def save_to_sqlite(movies): # 连接数据库 conn = sqlite3.connect('movies.db') # 创建数据表 conn.execute(''' CREATE TABLE IF NOT EXISTS movies (id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT, info TEXT, rating REAL, summary TEXT); ''') # 插入数据 for movie in movies: conn.execute(f''' INSERT INTO movies (title, info, rating, summary) VALUES ("{movie[0]}", "{movie[1]}", {movie[2]}, "{movie[3]}"); ''') # 提交事务 conn.commit() # 关闭数据库连接 conn.close() # 爬取电影信息并保存数据库 if __name__ == '__main__': movies = get_movies() save_to_sqlite(movies) ``` 这段代码实现了实时爬取豆瓣电影top250页面中的电影信息,并将电影的标题、信息、评分和简介存储到sqlite数据库中,每一页最多爬取20条电影信息。函数`get_movies()`用于获取电影信息,函数`save_to_sqlite()`用于将电影信息保存sqlite数据库中。这段代码每爬取一页电影信息会在爬取完后暂停2秒,以避免被封IP。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值