指定城市|历史日度气温数据获取【附代码】

本文介绍如何使用Python爬虫获取指定城市的历史日度气温数据,包括最高温和最低温等信息。通过代码示例展示了如何定位网页元素,并提供了获取浏览器UA的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、指标展示与数据样例

 目标网址信息在代码中,网页保存了2011年01月至最近一个月份(比如现在是2022年05月,就更新到2022年04月)的日度最高温、最低温、风向、气候类型数据,可供大家参考分析。

二、代码



import os
import requests
import xlwt
from lxml import etree


headers = {
    # (1) 更改UA信息
    'User-Agent':'输入您的浏览器UA'
    }

# (2) 更改目标城市名——拼音形式
city8 = ['guangzhou','beijing','shenzhen','chongqing','shanghai','nanjing','wuhan','chengdu']

# (3) 输入希望获取的时间窗:样例中是2021年01月-2021年12月
month2021 = ['2021%02d'%m for m in range(1,13)]

def getWeather(city,month):
    item = []
    url = 'https://lishi.tianqi.com/'+city+'/'+month+'.html'
    response = requests.get(url=url,
### 福州历史气象数据查询方法 为了获取福州的历史气象数据,可以考虑多种途径和工具。以下是几种常见的方法及其特点: #### 方法一:通过官方渠道获取 可以从中央气象台官方网站(网址:<http://www.nmc.cn/>)爬取所需的数据[^3]。该网站提供了丰富的实时和历史天气数据,包括但不限于时间点、整点气温、整点降水量、风力、整点气压以及相对湿等信息。具体操作可以通过编写爬虫程序来完成。 #### 方法二:利用公开数据库资源 NCEI(美国国家环境信息中心)提供了一个庞大的全球气象数据集,其中包含了详细的逐降水量和其他气象指标的信息。经过处理后的数据已经涵盖了中国范围内的多个站点,并且单位已统一转换为毫米(mm)。如果目标时间段在1981年至2023年间,则可以直接使用此类预处理过的数据[^2]。 #### 方法三:借助第三方平台 除了上述两种主流方式外,“中国城市历史数据网”也是一个不错的选择。它自2011年起便开始记录全国各地的城市级别的详细气象状况,内容涉及温变化趋势、降水布特征等多个方面。值得注意的是,在此领域内虽然大多数开发者倾向于采用Python作为开发语言构建自己的网络爬虫应用,但实际上也可以尝试运用其他编程语言如R来进行类似的任务执行[^4]。 #### 示例代码片段 (基于 Python 的简单爬虫实现) 下面展示了一段基础版本用于从指定URL地址读取网页内容并解析成结构化形式以便后续进一步加工使用的样例脚本: ```python import requests from bs4 import BeautifulSoup def fetch_weather_data(url): response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') # Assuming the data is within a table with class "weather-data" table = soup.find('table', {'class': 'weather-data'}) rows = table.findAll('tr')[1:] # Skip header row results = [] for row in rows: cols = row.findAll('td') date = cols[0].text.strip() temp = float(cols[1].text.strip()) precip = float(cols[2].text.strip()) if cols[2].text.strip() != '-' else None entry = { 'date': date, 'temperature': temp, 'precipitation': precip } results.append(entry) return results url = "http://example.com/fuzhou-historical-weather" # Replace this URL accordingly data = fetch_weather_data(url) print(data[:5]) # Print first five entries as sample output ``` 以上仅为示意性质的功能模块之一;实际项目当中还需要考虑到更多细节因素比如错误处理机制的设计等等。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林老头ss

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值