Python爬取中国天气网天气数据.

一、主题式网络爬虫设计方案

1.主题式网络爬虫名称

名称:Python爬取中国天气网天气数据

2.主题式网络爬虫爬取的内容与数据特征分析

本次爬虫主要爬取中国天气网天气数据

3.主题式网络爬虫设计方案概述(包括实现思路与技术难点)

requests库实现发送请求、获取响应。  
beautifulsoup实现数据解析、提取和清洗  
pyechart模块实现数据可视化

二、主题页面的结构特征分析

 华东地区天气预报  华东天气数据

 conMidtab 页面整体标签

conMidtab2 地区总体标签

三、网络爬虫程序设计

import requests
from bs4 import BeautifulSoup
from pyecharts import BarALL_DATA = []
def send_parse_urls(start_urls):headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Safari/537.36"}for start_url in start_urls:response = requests.get(start_url,headers=headers)# 编码问题的解决response = response.text.encode("raw_unicode_escape").decode("utf-8")soup = BeautifulSoup(response,"html5lib") #lxml解析器:性能比较好,html5lib:适合页面结构比较混乱的div_tatall = soup.find("div",class_="conMidtab") #find() 找符合要求的第一个元素tables = div_tatall.find_all("table") #find_all() 找到符合要求的所有元素的列表for table in tables:trs = table.find_all("tr")info_trs = trs[2:]for index,info_tr in enumerate(info_trs): # 枚举函数,可以获得索引# print(index,info_tr)# print("="*30)city_td = info_tr.find_all("td")[0]temp_td = info_tr.find_all("td")[6]# if的判断的index的特殊情况应该在一般情况的后面,把之前的数据覆盖if index==0:city_td = info_tr.find_all("td")[1]temp_td = info_tr.find_all("td")[7]city=list(city_td.stripped_strings)[0]temp=list(temp_td.stripped_strings)[0]ALL_DATA.append({"city":city,"temp":temp})return ALL_DATAdef get_start_urls():start_urls = ["http://www.weather.com.cn/textFC/hb.shtml","http://www.weather.com.cn/textFC/db.shtml","http://www.weather.com.cn/textFC/hd.shtml","http://www.weather.com.cn/textFC/hz.shtml","http://www.weather.com.cn/textFC/hn.shtml","http://www.weather.com.cn/textFC/xb.shtml","http://www.weather.com.cn/textFC/xn.shtml","http://www.weather.com.cn/textFC/gat.shtml",]return start_urlsdef main():"""主程序逻辑展示全国实时温度最低的十个城市气温排行榜的柱状图"""# 1 获取所有起始urlstart_urls = get_start_urls()# 2 发送请求获取响应、解析页面data = send_parse_urls(start_urls)# print(data)# 4 数据可视化#1排序data.sort(key=lambda data:int(data["temp"]))#2切片,选择出温度最低的十个城市和温度值show_data = data[:10]#3分出城市和温度city = list(map(lambda data:data["city"],show_data))temp = list(map(lambda data:int(data["temp"]),show_data))#4创建柱状图、生成目标图chart = Bar("中国最低气温排行榜") #需要安装pyechart模块chart.add("",city,temp)chart.render("tempture.html")if __name__ == '__main__':main()

    四、可视化

柱状图:

 最后:如果你对Python感兴趣,想要学习Python,希望可以帮到你,一起加油!以上是给大家分享的Python全套学习资料,都是我自己学习时整理的:

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

图片

图片

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,还有环境配置的教程,给大家节省了很多时间。

图片

三、全套PDF电子书

书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

图片

四、入门学习视频全套

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

图片

图片

五、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

图片

图片

 **学习资源已打包,需要的小伙伴可以戳这里:【学习资料】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/35810.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ET实现游戏中邮件系统逻辑思路(服务端)

ET是一个游戏框架,用的编程语言是C#,游戏引擎是Unity,框架作者:熊猫 ET社区 在游戏中我们通常都会看到有邮件系统,邮件系统的作用有给玩家通知、发放奖励等 下面小编使用ET框架带大家看一下邮件系统的一种实现方…

「C系列」C 经典练习实例

文章目录 1. 基本输入输出2. 字符串操作3. 数组与循环4. 函数与递归5. 逻辑与条件6. 数学问题7. 数字与数学8. 数组与字符串9. 逻辑与条件10. 结构体和联合体11. 指针12. 文件操作13. 动态内存分配相关链接 C语言经典练习实例及详细代码可以涵盖多个方面,从基础输入…

中国近10年AGV共部署了351700台……

导语 大家好,我是社长,老K。专注分享智能制造和智能仓储物流等内容。 新书《智能物流系统构成与技术实践》 根据网络上公开数据获得如下信息。仅供参考。 如下为中国近十年AGV部署的公开数据: 2014-2018年,中国AGV机器人累计销量达…

没有思考过 Embedding,不足以谈 AI

在当今的人工智能(AI)领域,Embedding 是一个不可或缺的概念。如果你没有深入理解过 Embedding,那么就无法真正掌握 AI 的精髓。接下来,我们将深入探讨 Embedding 的基本概念。 1. Embedding的基本概念 1.1 什么是 Emb…

【数据采集】亮数据浏览器、亮网络解锁器实战指南

前言 继上次我们写了数据采集与AI分析,亮数据通义千问助力跨境电商前行的文章之后,好多小伙伴来后台留言,表示对亮数据的数据采集非常感兴趣,并且感觉用起来非常顺手,大大减少了小白用户获取数据的成本。 在这儿&…

【python爬虫实战】爬取书店网站的 书名价格(注释详解)

思路来源:b站视频【【Python爬虫】爆肝两个月!拜托三连了!这绝对是全B站最用心(没有之一)的Python爬虫公开课程,从入门到(不)入狱 !-哔哩哔哩】 https://b23.tv/M79rxMd …

docker 学习之路

文章目录 1、官方文档2、常用命令挂载Docker容器内运行的脚本或命令常用 3、介绍4、Dockerfile5、问题6、链接 ​ 1、官方文档 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux…

基于 Paimon 的袋鼠云实时湖仓入湖实战剖析

在当今数据驱动的时代,企业对数据的实施性能力提出了前所未有的高要求。为了应对这一挑战,构建高效、灵活且可扩展的实时湖仓成为数字化转型的关键。本文将深入探讨袋鼠云数栈如何通过三大核心实践——ChunJun 融合 Flink CDC、MySQL 一键入湖至 Paimon …

我用低代码平台自己搭建了一套MES应用系统,1天搞定!

MES系统是什么 MES系统是一套面向制造企业车间执行层的生产信息化管理系统。它能够为操作人员和管理人员提供计划的执行、跟踪以及所有资源(包括人、设备、物料、客户需求等)的当前状态。通过MES系统可以对从订单下达到产品完成的整个生产过程进行优化管…

Intellij Idea显示回退和前进按钮的方法

方法1 使用快捷键&#xff1a; 回到上一步 ctrl alt <-&#xff08;左方向键&#xff09;回到下一步 ctrl alt ->&#xff08;右方向键&#xff09; 方法2&#xff1a; Preferences -> Appearance & Behavior -> Menus and Toolbars -> Navigation B…

生信技能50 - 本地构建Clinvar数据库VCF变异位点快速搜索功能

1. Clinvar数据库文件下载 参考本人文章: 生信技能40 - Clinvar数据库VCF文件下载和关键信息提取 # 下载GRCh37 vcf wget -c -b https://ftp.ncbi.nlm.nih.gov/pub/clinvar/vcf_GRCh37/clinvar_20240624.vcf.gz wget https://ftp.ncbi.nlm.nih.gov/pub/clinvar/vcf_GRCh37/…

森林草原火险因子综合监测系统解决方案

一、概述 根据应急管理部和国家统计局发布的数据&#xff0c;2023 年全国共接报火灾 74.5 万起&#xff0c;其中森林火灾 328 起&#xff0c;共发生草原火灾 15 起。为应对这一严峻挑战我国正面临着森林草原火险的严重威胁。森林火灾不仅对生态文明建设构成严重威胁&#xff0c…

顶顶通呼叫中心中间件-透传uuid并且导入对端变量到本端(mod_cti基于Freeswitch)

一、配置拨号方案 win-ccadmin配置方法 点击拨号方案 -> 点击进入排队 -> 根据图中配置。如果不是排队转人工是机器人转人工那么就是在机器人那个拨号方案配置&#xff0c;并且需要配置在"cti_robot"之前即可 action"set" data"sip_h_X_tas…

第2章.现场设备的物联网模式--设备网关

第2章.现场设备的物联网模式 本章列出了与现场设备或事物相关的关键模式。阅读本章后&#xff0c;您将能够识别物联网架构中这些模式的存在。它提供了有关模式适合或适用的场景的详细信息&#xff0c;以及需要考虑的约束。这将帮助您相对轻松地理解现有的物联网架构。 本章涵盖…

【论文阅读】Answering Label-Constrained Reachability Queries via Reduction Techniques

Cai Y, Zheng W. Answering Label-Constrained Reachability Queries via Reduction Techniques[C]//International Conference on Database Systems for Advanced Applications. Cham: Springer Nature Switzerland, 2023: 114-131. Abstract 许多真实世界的图都包含边缘标签…

腾讯云TI平台的大模型精调解决方案

腾讯云TI平台的大模型精调解决方案 随着人工智能和大数据技术的快速发展&#xff0c;大模型在各行各业的应用日益广泛。然而&#xff0c;大规模模型的训练和部署面临着诸多挑战&#xff0c;包括训练资源的高效利用、模型训练的稳定性和国产化适配需求。腾讯云TI平台凭借其强大…

从@Param注解开始,深入了解 MyBatis 参数映射的原理

系列文章目录 MyBatis缓存原理 Mybatis plugin 的使用及原理 MyBatisSpringboot 启动到SQL执行全流程 数据库操作不再困难&#xff0c;MyBatis动态Sql标签解析 Mybatis的CachingExecutor与二级缓存 使用MybatisPlus还是MyBaits &#xff0c;开发者应该如何选择&#xff1f; 巧…

js异常处理方案

文章目录 异常处理方案同步代码的异常处理Promise 的异常处理async await 的异常处理 感谢阅读&#xff0c;觉得有帮助可以点点关注点点赞&#xff0c;谢谢&#xff01; 异常处理方案 在JS开发中&#xff0c;处理异常包括两步&#xff1a;先抛出异常&#xff0c;然后捕获异常。…

AI在创造还是毁掉一些东西

今天突然闪现一个念头&#xff0c;AI真的能带来进步吧。AI能个我们带来什么&#xff1f; 突发这个想法的原因是早上乘车的时候看到一个7,8岁的小孩脖子上带了AI学习机。我在想&#xff0c;小孩都通过AI来学习了&#xff0c;还能提升创造吗&#xff1f;这引起了我的担忧。也许AI…

关于0xc000007b的一种解决方案

今天我在安装qview并运行时时&#xff0c;遇到了这个问题。 我在网上查找了许多解决方案&#xff0c;但它们大多都说是某些dll缺失或错误引起的。 这些说法应该是正确的&#xff0c;但我用了dll修复工具后&#xff0c;一点用都没有。 后来捣鼓半天后&#xff0c;我发现很可能…