使用python爬取天气预报,[python入门案例]

news/2024/7/19 10:12:02 标签: python, 爬虫
 1 # 天气网余姚地区爬虫案例
 2 import requests
 3 from lxml import etree
 4 
 5 
 6 class WeatherSpider:
 7 
 8     def __init__(self):
 9         self.url = "http://www.weather.com.cn/weather/101210404.shtml"
10         self.headers = {
11             "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36"}
12 
13     def get_url_content(self):
14         return requests.get(self.url, headers=self.headers).content.decode()
15 
16     def get_weather_data(self, html):
17         tmp_html = etree.HTML(html)
18         tomorrow_doc = tmp_html.xpath("//div[contains(@class,'con') and contains(@class,'today')]//div[@class='c7d']/ul/li[2]")[0]
19         weather_data = {}
20         weather_data["date"] = tomorrow_doc.xpath("./h1/text()")[0]
21         weather_data["weather"] = tomorrow_doc.xpath("./p[@class='wea']/@title")[0]
22         weather_data["temperature_max"] = tomorrow_doc.xpath("./p[@class='tem']/span/text()")[0]
23         weather_data["temperature_min"] = tomorrow_doc.xpath("./p[@class='tem']/i/text()")[0]
24         weather_data["air_speed"] = tomorrow_doc.xpath("./p[@class='win']/i/text()")[0]
25         return weather_data
26 
27     def run(self):
28         # 获取url请求内容
29         content_html = self.get_url_content()
30         # 根据url内容获取天气数据
31         data = self.get_weather_data(content_html)
32         # 打印爬取的天气数据
33         print(data)
34 
35 
36 if __name__ == '__main__':
37     spider = WeatherSpider()
38     spider.run()

爬取结果

 

自己刚学爬虫不久,利用爬虫爬取天气网,每次可以抓取第二天的天气状况,一个小demo

转载于:https://www.cnblogs.com/zst-blogs/p/10752565.html


http://www.niftyadmin.cn/n/1647912.html

相关文章

Redis 学习笔记八:集群模式

Redis 学习笔记八:集群模式 作者:Grey 原文地址: 博客园:Redis 学习笔记八:集群模式 CSDN:Redis 学习笔记八:集群模式 前面提到的Redis 学习笔记七:主从复制和哨兵只能解决Redi…

ZooKeeper 学习笔记一:集群搭建

ZooKeeper 学习笔记一:集群搭建 作者:Grey 原文地址: 博客园:ZooKeeper 学习笔记一:集群搭建 CSDN:ZooKeeper 学习笔记一:集群搭建 说明 单机版的zk安装和运行参考:https://zo…

App自动化(1)--Appium-Android环境搭建

本次笔记记录Appium-Android环境搭建,主要实现在windows上通过python编写脚本来实现模拟器上安装的app自动化测试。 主要步骤:安装node.js,配置JDK环境,配置Android sdk环境,安装Appium,安装Appium-Python-…

HSTS 详解,让 HTTPS 更安全

随着互联网的快速发展,人们在生活中越来越离不开互联网。无论是社交、购物还是搜索,互联网都能给人带来很多的便捷。与此同时,由于用户对网络安全的不了解和一些网站、协议的安全漏洞,让很多用户的个人信息数据“裸露”在互联网中…

Java 多线程(六):容器

Java 多线程(六):容器 作者:Grey 原文地址: 博客园:Java 多线程(六):容器 CSDN:Java 多线程(六):容器 Vector/HashTa…

Java中的抽象

什么是抽象类? 如果一个类没有足够的信息去描述一个具体的对象,那么这样的类我们就称它为抽象类。这很好理解,就如同动物是一个很广泛的概念,由于在动物这个类里,我们无法用很详细的信息去描述狗狗这个具体的对象。所以…

ZooKeeper 学习笔记二:API 基本使用

ZooKeeper 学习笔记二:API 基本使用 作者:Grey 原文地址: 博客园:ZooKeeper 学习笔记二:API 基本使用 CSDN:ZooKeeper 学习笔记二:API 基本使用 准备工作 搭建一个zk集群,参考…

GarageBand mac怎么剪切音频片段? GarageBand mac使用教程

garageband mac智能控制轻松修饰声音资源库中任何乐器的音色,让你在世界各地都可以开始你的创意,让世界听到你的歌声。GarageBand mac剪切音频片段的操作小伙伴们也是需要掌握的,GarageBand mac怎么剪切音频片段?想要了解具体的操…