给我一个爬虫爬取天气网站代码,包括网络请求,html解析,数据清洗,数据存储
时间: 2024-04-02 15:35:21 浏览: 52
爬虫-python大作业-Python简单分析天气数据源代码.zip
好的,以下是一个简单的天气网站爬虫代码,包括网络请求,html解析,数据清洗,数据存储的完整过程,你可以参考一下:
```python
import requests
from bs4 import BeautifulSoup
import pandas as pd
# 请求URL
url = 'http://www.weather.com.cn/weather/101020100.shtml'
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'}
response = requests.get(url, headers=headers)
response.encoding = 'utf-8'
html = response.text
# 解析HTML
soup = BeautifulSoup(html, 'html.parser')
conMidtab = soup.find('div', class_='conMidtab')
conMidtab2_list = conMidtab.find_all('div', class_='conMidtab2')
# 数据清洗
data = []
for conMidtab2 in conMidtab2_list:
tr_list = conMidtab2.find_all('tr')[2:]
for tr in tr_list:
temp = []
td_list = tr.find_all('td')
for td in td_list:
temp.append(td.getText().strip())
data.append(temp)
# 数据存储
df = pd.DataFrame(data, columns=['日期', '天气状况', '气温', '风力风向'])
df.to_csv('weather.csv', index=False, encoding='utf-8-sig')
```
这个爬虫的主要流程是:
- 发送网络请求,获取网页HTML源代码;
- 使用BeautifulSoup解析HTML,找到需要的天气信息;
- 对数据进行清洗,提取出每天的日期、天气状况、气温、风力风向;
- 将清洗后的数据存储到CSV文件中。
你可以根据需要对代码进行调整和优化。
阅读全文