将从2345天气网爬取的数据放到一个数据库中 用代码显示
时间: 2023-09-18 10:12:19 浏览: 106
好的,下面是一个简单的示例代码,可以将从2345天气网爬取的数据存储到SQLite数据库中,并使用pandas模块读取数据库中的数据并进行显示:
```python
import requests
from bs4 import BeautifulSoup
import sqlite3
import pandas as pd
# 爬取天气信息
url = 'https://tianqi.2345.com/beijing/54511.htm'
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')
today_weather = soup.find(class_='today clearfix')
location = today_weather.find(class_='crumbs fl').text.strip()
weather = today_weather.find(class_='wea').text.strip()
temperature = today_weather.find(class_='tem').text.strip()
# 连接数据库或创建数据库
conn = sqlite3.connect('weather.db')
# 创建数据表
conn.execute('''CREATE TABLE IF NOT EXISTS weather_info
(id INTEGER PRIMARY KEY AUTOINCREMENT,
location TEXT,
weather TEXT,
temperature TEXT);''')
# 插入数据
conn.execute("INSERT INTO weather_info (location, weather, temperature) VALUES (?, ?, ?)", (location, weather, temperature))
# 提交更改
conn.commit()
# 读取数据并显示
df = pd.read_sql_query("SELECT * from weather_info", conn)
print(df)
# 关闭数据库连接
conn.close()
```
这段代码首先爬取了2345天气网北京市的今日天气信息,并将其存储到了变量`location`、`weather`和`temperature`中。然后使用SQLite模块连接数据库或创建数据库,并创建了一个名为"weather_info"的数据表,向数据表中插入了一条数据。最后使用pandas模块读取数据表中的数据并进行显示。您可以根据自己的需要修改代码中的爬取网址、数据库名称、数据表名称、数据列名和插入的数据。
阅读全文