爬取天气网站通常需要以下步骤:
确定目标网站和URL
选择一个提供天气数据的网站,如中国气象局或Weather.com。
查找包含天气数据的网页URL。
发起HTTP请求
使用Python的`requests`库发起GET请求,并设置请求头,包括`User-Agent`等信息。
解析HTML页面
使用`BeautifulSoup`库解析返回的HTML内容。
分析HTML结构,找到包含天气数据的标签。
提取天气数据
根据网页结构,使用`BeautifulSoup`提取所需的天气信息。
数据处理和存储
对提取到的天气数据进行处理和分析。
可以选择将数据保存到文件或数据库中。
import requests
from bs4 import BeautifulSoup
设置请求头
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.26'
}
目标URL
url = 'http://www.weather.com.cn/weather/101200101.shtml' 请替换为实际城市天气页面URL
发送请求获取网页内容
response = requests.get(url, headers=headers)
确保响应内容编码正确
response.encoding = 'utf-8'
使用BeautifulSoup解析网页内容
soup = BeautifulSoup(response.text, 'html.parser')
提取天气数据
weather_data = soup.find_all('div', {'class': 'current-weather-card'})
打印天气数据
for data in weather_data:
temperature = data.find('span', {'class': 'CurrentConditions--tempValue--3KcTQ'}).text
condition = data.find('div', {'class': 'CurrentConditions--phraseValue--2Z18W'}).text
print('Temperature:', temperature)
print('Condition:', condition)
请注意,实际使用时,需要根据目标网站的具体HTML结构来调整代码中的选择器和属性。同时,考虑到网站可能有反爬虫机制,可能需要额外的处理,如设置合适的请求间隔、使用代理IP等。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/143865.html