m0_73922071 2024-11-06 18:12 采纳率: 16.7%
浏览 7

天气数据爬取,天津地区

一、在jupyter中
中国气象局天气预报页面:https://weather.cma.cn/
墨迹天气:https://tianqi.moji.com/
以上两个网站,任选一个,爬取自己家乡例如天津,所在地区的气象数据:
所有爬取的数据,需要存入csv文件中,格式自定
实时气象数据:页面提供了几个就爬取几个
需要同时提交csv数据文件

  • 写回答

1条回答 默认 最新

  • XMYX-0 运维开发领域优质创作者 2024-11-07 10:12
    关注

    1. 安装所需的库

    如果您还没有安装 requestsbeautifulsoup4 库,可以使用以下命令安装:

    !pip install requests beautifulsoup4 pandas
    

    2. 获取墨迹天气的天津实时数据

    接下来,我们将抓取墨迹天气网站的实时气象数据,并将其保存为 CSV 文件。

    import requests
    from bs4 import BeautifulSoup
    import pandas as pd
    
    # 天津的墨迹天气网页URL
    url = "https://tianqi.moji.com/weather/china/tianjin/"
    
    # 发送请求获取网页内容
    response = requests.get(url)
    response.encoding = 'utf-8'
    
    # 解析网页内容
    soup = BeautifulSoup(response.text, 'html.parser')
    
    # 选取实时气象数据的相关信息
    weather_info = {}
    
    # 获取当前温度
    weather_info['temperature'] = soup.find('p', class_='tem').text.strip()
    
    # 获取当前天气状况
    weather_info['weather_condition'] = soup.find('p', class_='wea').text.strip()
    
    # 获取风力
    weather_info['wind'] = soup.find('p', class_='win').text.strip()
    
    # 获取湿度
    humidity = soup.find('p', class_='shidu')
    weather_info['humidity'] = humidity.text.strip() if humidity else 'N/A'
    
    # 获取空气质量
    air_quality = soup.find('span', class_='air')
    weather_info['air_quality'] = air_quality.text.strip() if air_quality else 'N/A'
    
    # 获取当前时间(或日期)
    weather_info['time'] = soup.find('h1', class_='time').text.strip()
    
    # 打印出抓取的天气数据
    print(weather_info)
    
    # 将数据存入CSV文件
    df = pd.DataFrame([weather_info])
    df.to_csv('tianjin_weather_data.csv', index=False, encoding='utf-8')
    

    3. 代码解释

    • 请求网页内容:我们使用 requests.get 来获取墨迹天气天津的网页内容。
    • 解析网页内容:使用 BeautifulSoup 来解析 HTML 页面,并从中提取出我们需要的数据。
    • 提取实时天气数据:我们从页面中选取温度、天气状况、风力、湿度、空气质量和当前时间等数据。
    • 存储数据:通过 pandas 将抓取的数据保存为 CSV 文件。

    4. 结果

    执行以上代码后,您会得到一个名为 tianjin_weather_data.csv 的文件,内容类似于:

    temperatureweather_conditionwindhumidityair_qualitytime
    24℃多云东风56%2024-11-07 13:00

    该 CSV 文件包含了实时天气数据,您可以根据需要进行修改,抓取更多数据或调整格式。

    需要注意的几点

    • 网页结构的变化:如果网页的结构有所改变,您需要更新 CSS 选择器或 XPath 表达式。
    • 反爬虫机制:如果网站启用了反爬虫机制,可能会被阻止访问。此时可以考虑使用代理或模拟浏览器请求。
    • 数据存储:如果要抓取更多数据(例如未来几天的天气预报),可以通过扩展爬虫脚本来抓取。
    评论

报告相同问题?

问题事件

  • 创建了问题 11月6日

悬赏问题

  • ¥15 浮动div的高度控制问题。
  • ¥66 换电脑后应用程序报错
  • ¥50 array数据同步问题
  • ¥15 pic16F877a单片机的外部触发中断程序仿真失效
  • ¥15 Matlab插值拟合差分微分规划图论
  • ¥15 keil5 target not created
  • ¥15 C/C++数据与算法请教
  • ¥15 怎么找志同道合的伙伴
  • ¥20 如何让程序ab.eXe自已删除干净硬盘里的本文件自己的ab.eXe文件
  • ¥20 关于#Mathcad符号引擎无响应#的问题,如何解决?