要确认数据已经被爬取并存储到SQLite数据库中,可以按照以下步骤进行操作:
### 1. 运行爬虫
确保爬虫已经成功运行并结束:
```bash
cd ~/PycharmProjects/douban_scrapy/douban
scrapy crawl douban
```
### 2. 验证SQLite数据库文件
你可以使用SQLite数据库浏览工具或直接在Python中检查数据库内容。
#### 方法1:使用SQLite数据库浏览工具
可以使用诸如DB Browser for SQLite等工具来打开并查看`movies.db`文件的内容。
1. 下载并安装[DB Browser for SQLite](https://sqlitebrowser.org/).
2. 打开DB Browser for SQLite,选择`Open Database`并导航到你的`movies.db`文件。
3. 在DB Browser中查看`top250`表,确认数据已成功插入。
#### 方法2:使用Python脚本验证
可以编写一个简单的Python脚本来验证数据库中的内容。
1. 在项目根目录下创建一个新的Python脚本,命名为`check_data.py`。
2. 编写检查数据库内容的脚本:
```python
import sqlite3
# 连接到SQLite数据库
conn = sqlite3.connect('movies.db')
cursor = conn.cursor()
# 查询数据库中的数据
cursor.execute('SELECT * FROM top250')
rows = cursor.fetchall()
# 打印查询结果
for row in rows:
print(row)
# 关闭数据库连接
conn.close()
```
3. 运行脚本:
```bash
python check_data.py
```
你应该会看到打印输出的数据库内容。如果数据库中包含正确的数据,说明爬虫已经成功地爬取并存储了数据。
### 3. 确认数据库数据结构
为了确保数据库表的结构和数据字段正确,可以检查数据库表的结构:
```python
import sqlite3
# 连接到SQLite数据库
conn = sqlite3.connect('movies.db')
cursor = conn.cursor()
# 查询数据库表结构
cursor.execute("PRAGMA table_info(top250)")
columns = cursor.fetchall()
# 打印表结构
for column in columns:
print(column)
# 关闭数据库连接
conn.close()
```
### 数据分析脚本
可以再次运行数据分析脚本来确保数据库中的数据正确无误:
1. 确认`data_analysis.py`的内容如下:
```python
import sqlite3
import pandas as pd
# 连接SQLite数据库
conn = sqlite3.connect('movies.db')
# 读取数据
df = pd.read_sql_query("SELECT * FROM top250", conn)
# 按制片国家/地区排名前十名的电影
top_regions = df['region'].value_counts().head(10)
print("按制片地区排名前十名的电影:")
print(top_regions)
# 按电影类型排名前十名的电影
top_genres = df['genre'].str.split(', ').explode().value_counts().head(10)
print("\n按电影类型排名前十名的电影:")
print(top_genres)
# 按评论人数排名前十名的电影
top_reviews = df.sort_values(by='num_reviews', ascending=False).head(10)
print("\n按评论人数排名前十名的电影:")
print(top_reviews[['title', 'num_reviews']])
```
2. 运行数据分析脚本:
```bash
python data_analysis.py
```
### 总结
通过上述步骤,你可以确认爬虫成功运行并将数据存储到SQLite数据库中。你可以使用数据库浏览工具或Python脚本来验证数据库中的数据。最后,通过运行数据分析脚本来确保数据完整性和正确性。