python爬取2023年武汉市5月份天气数据写入csv文件,然后生成可视化折线图形在html展示
时间: 2024-04-02 21:32:28 浏览: 89
好的,我可以为您提供一些思路和代码。
首先,您需要安装以下库:requests、beautifulsoup4、pandas、matplotlib。
然后,您可以使用以下代码爬取2023年5月份武汉市天气数据并写入csv文件:
```python
import requests
from bs4 import BeautifulSoup
import pandas as pd
url = 'http://www.tianqihoubao.com/lishi/wuhan/202305.html'
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')
table = soup.find('table', class_='b')
data = []
for tr in table.find_all('tr')[1:]:
tds = tr.find_all('td')
date = tds[0].get_text().strip()
weather = tds[1].get_text().strip()
temperature = tds[2].get_text().strip()
wind = tds[3].get_text().strip()
data.append([date, weather, temperature, wind])
df = pd.DataFrame(data, columns=['日期', '天气', '温度', '风力'])
df.to_csv('wuhan_202305.csv', index=False, encoding='utf-8-sig')
```
接下来,您可以使用以下代码生成折线图并将其嵌入html中:
```python
import matplotlib.pyplot as plt
df = pd.read_csv('wuhan_202305.csv')
plt.plot(df['日期'], df['温度'])
plt.title('2023年5月武汉市温度变化')
plt.xlabel('日期')
plt.ylabel('温度')
plt.xticks(rotation=45, ha='right')
plt.tight_layout()
plt.savefig('wuhan_202305.png')
with open('wuhan_202305.html', 'w', encoding='utf-8') as f:
f.write('<html><body>\n')
f.write('<img src="wuhan_202305.png">\n')
f.write('</body></html>')
```
最后,您可以在浏览器中打开生成的html文件,查看折线图展示效果。
希望能对您有所帮助!
阅读全文