爬取全国城市天气数据代码
时间: 2023-09-06 16:11:23 浏览: 115
天气数据爬取的源代码-可以运行
以下是使用 Python 爬取全国城市天气数据的示例代码,需要使用 requests 和 BeautifulSoup 库:
```python
import requests
from bs4 import BeautifulSoup
url = 'http://www.weather.com.cn/textFC/hb.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
soup = BeautifulSoup(html, 'html.parser')
# 获取所有城市的天气数据
city_weathers = []
conMidtab = soup.find('div', {'class': 'conMidtab'})
tables = conMidtab.find_all('table')
for table in tables:
trs = table.find_all('tr')[2:] # 前两行不是数据,跳过
for tr in trs:
tds = tr.find_all('td')
city = tds[0].text.strip()
temperature = tds[5].text.strip()
wind = tds[6].text.strip()
city_weathers.append((city, temperature, wind))
# 打印城市天气数据
for city_weather in city_weathers:
print(city_weather)
```
这段代码首先使用 requests 库发送 HTTP 请求,并使用 BeautifulSoup 库解析响应内容。然后,根据页面结构提取出所有城市的天气数据,并将其保存到一个列表中。最后,遍历列表并打印每个城市的天气数据。
请注意:该代码仅演示了如何爬取天气数据,并没有考虑反爬机制和数据存储等问题。在实际应用中,您需要更加细致地处理这些问题。同时,您需要尊重网站的 robots.txt 文件,遵守爬虫道德规范。
阅读全文