python爬虫-数据可视化-气温排行榜

2023-11-02

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理

以下文章来源于腾讯云 作者:py3study

( 想要学习Python?Python学习交流群:1039649593,满足你的需求,资料都已经上传群文件流,可以自行下载!还有海量最新2020python学习资料。 )
在这里插入图片描述

python爬虫+数据可视化项目(一)

  • 爬取目标:中国天气网(起始url:http://www.weather.com.cn/textFC/hb.shtml#)
  • 爬取内容:全国实时温度最低的十个城市气温排行榜
  • 使用工具:requests库实现发送请求、获取响应。  
         beautifulsoup实现数据解析、提取和清洗  
         pyechart模块实现数据可视化
  • 爬取结果:柱状图可视化展示:
    在这里插入图片描述
    直接放代码(详细说明在注释里,欢迎同行相互交流、学习~):
 1 import requests
 2 from bs4 import BeautifulSoup
 3 from pyecharts import Bar
 4 
 5 ALL_DATA = []
 6 def send_parse_urls(start_urls):
 7     headers = {
 8     "User-Agent": "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)"
 9     }
10     for start_url in start_urls:
11         response = requests.get(start_url,headers=headers)
12         # 编码问题的解决
13         response = response.text.encode("raw_unicode_escape").decode("utf-8")
14         soup = BeautifulSoup(response,"html5lib") #lxml解析器:性能比较好,html5lib:适合页面结构比较混乱的
15         div_tatall = soup.find("div",class_="conMidtab") #find() 找符合要求的第一个元素
16         tables = div_tatall.find_all("table") #find_all() 找到符合要求的所有元素的列表
17         for table in tables:
18             trs = table.find_all("tr")
19             info_trs = trs[2:]
20             for index,info_tr in enumerate(info_trs): # 枚举函数,可以获得索引
21                 # print(index,info_tr)
22                 # print("="*30)
23                 city_td = info_tr.find_all("td")[0]
24                 temp_td = info_tr.find_all("td")[6]
25                 # if的判断的index的特殊情况应该在一般情况的后面,把之前的数据覆盖
26                 if index==0:
27                     city_td = info_tr.find_all("td")[1]
28                     temp_td = info_tr.find_all("td")[7]
29                 city=list(city_td.stripped_strings)[0]
30                 temp=list(temp_td.stripped_strings)[0]
31                 ALL_DATA.append({"city":city,"temp":temp})
32     return ALL_DATA
33 
34 def get_start_urls():
35     start_urls = [
36        "http://www.weather.com.cn/textFC/hb.shtml",
37         "http://www.weather.com.cn/textFC/db.shtml",
38         "http://www.weather.com.cn/textFC/hd.shtml",
39         "http://www.weather.com.cn/textFC/hz.shtml",
40         "http://www.weather.com.cn/textFC/hn.shtml",
41         "http://www.weather.com.cn/textFC/xb.shtml",
42         "http://www.weather.com.cn/textFC/xn.shtml",
43         "http://www.weather.com.cn/textFC/gat.shtml",
44     ]
45     return start_urls
46 
47 def main():
48     """
49     主程序逻辑
50     展示全国实时温度最低的十个城市气温排行榜的柱状图
51     """
52     # 1 获取所有起始url
53     start_urls = get_start_urls()
54     # 2 发送请求获取响应、解析页面
55     data = send_parse_urls(start_urls)
56     # print(data)
57     # 4 数据可视化
58         #1排序
59     data.sort(key=lambda data:int(data["temp"]))
60         #2切片,选择出温度最低的十个城市和温度值
61     show_data = data[:10]
62         #3分出城市和温度
63     city = list(map(lambda data:data["city"],show_data))
64     temp = list(map(lambda data:int(data["temp"]),show_data))
65         #4创建柱状图、生成目标图
66     chart = Bar("中国最低气温排行榜") #需要安装pyechart模块
67     chart.add("",city,temp)
68     chart.render("tempture.html")
69 
70 if __name__ == '__main__':
71     main()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python爬虫-数据可视化-气温排行榜 的相关文章

随机推荐

  • 若依框架包名修改器

    链接 https pan baidu com s 15YJCZtm28sJLcEp9EAH6aQ pwd 8n1v 提取码 8n1v
  • 用tensorflow搭建简单的CNN网络

    使用了两种不同的tensorflow API搭建了一个简单的CNN网络 用于识别mnist数据集中的手写数字 输出结果有10个类 数字0 9 网络结构只有简单的两层卷积层 全连接层 输出层 如下如图所示 搭建网络的步骤如下 读取mnist数
  • iOS开发之Xcode的静态分析(Static Code Analysis)与常见问题解决

    iOS开发之Xcode的静态分析 Static Code Analysis 与常见问题解决 一 Xcode Analyze静态分析 Static Code Analysis Static Code Analysis 静态代码分析 用来发现源
  • 【LeetCode-多线程】1116. 打印零与奇偶数

    目录 一 题目 二 解决 1 Semaphore 2 CountDownLatch 3 Thread yield 4 LockSupport 5 Thread yield 6 ReentrantLock Condition 三 参考 一 题
  • JDBC开发步骤总结

    1 加载驱动 搭建环境 I 将Oracle驱动Jar包复制到项目中的自建lib文件夹下 II ojdbc6 jar 右键 gt build path gt add to build path III Class forName oracle
  • 帆软—报表专题

    函数计算格式 if函数判断 连接运算符 concat 正则 设计器函数汇总 count 文本函数 日期时间函数 逻辑switch函数 函数使用位置 https help fanruan com finereport10 0 doc view
  • ipad上linux终端,如何使用iSH在iPad或iPhone上获取Linux Shell

    您是否曾经希望在iPad或iPhone上安装Linux命令行 使用iSH 您可以非常接近实现该目标 iSH Shell是适用于iOS的Linux Shell 它使用x86模拟器在iPad或iPhone上运行Alpine Linux的简化版本
  • uniapp微信小程序外壳内联H5实现支付

    业务场景 用户有现成的微信H5应用 有微信支付 用户想要一个一摸一样的小程序版本 但是又不想高成本去重新开发 所以可以考虑采用小程序的web view组件内联现有的微信H5应用 哇简直不要再偷懒了 简直就是分分钟搞定的事 是不是太简单了 给
  • 网络安全是什么?如何成为一位优秀的网络安全工程师/黑客?

    网络安全是什么 首先说一下什么是网络安全 网络安全工程师工作内容具体有哪些 网络安全是确保网络系统的硬件 软件及其系统中的数据受到保护 不因偶然的或者恶意的原因而受到破坏 更改 泄露 系统连续可靠正常地运行 保障网络服务不被中断 网络安全工
  • java实现短链接得到长链接!!!

    java实现短链接得到长链接 重点 params setParameter ClientPNames HANDLE REDIRECTS false 禁止重定向 不设置 有些短链接 获取不到headers里的Location HttpClie
  • chrome 全屏模式 隐藏地址栏_6个Chrome隐藏的小技巧,你可能不知道但很实用

    Chrome占据了浏览器的大半壁江山 不少人也是将它作为电脑的默认浏览器 而它也确实非常强大 拥有着非常快的速度以及丰富的插件 同时它也隐藏了不少实用的功能 通过挖掘它们让我们更加意识到Chrome的强大 以下便是我们收集的6个不为大众所熟
  • Linux用户环境变量、系统环境变量和PATH变量

    目录 一 用户环境变量 二 系统环境变量 三 PATH变量 1 修改PATH环境变量 一 用户环境变量 PS 修改文件执行权限案例 1 在文本编辑器中新建一个shell脚本 直接执行这个文件会发现权限不够 以详细模式查看这个文件的权限 发现
  • OpenCV——Sobel边缘检测

    目录 一 Sobel算法 1 算法概述 2 主要函数 二 C 代码 三 python代码 四 结果展示 1 灰度图 2 X方向一阶边缘 2 Y方向一阶边缘 3 整幅图像的一阶边缘 五 相关链接 一 Sobel算法 1 算法概述 Sobel边
  • matplotlib库使用教程:这一篇就够了

    一 导入库 import matplotlib pyplot as plt 二 显示图片 plt imshow imge 负责对图像进行处理 imge类型
  • Zotero安装教程(非常详细)从零基础入门到精通,看完这一篇就够了

    Zotero安装及简单配置 1 引言 Zotero是目前最符合我对文献管理软件需求的一款 在这里简单介绍下其安装教程及我在使用的插件 2 安装及同步设置 2 1 下载 前往官网https www zotero org 点击Download按
  • J2EE&反射

    文章目录 什么是反射 类类 反射实例化 反射动态方法调用 反射读写属性 源代码 什么是反射 Java语言的一种机制 通过这种机制可以动态的实例化对象 读写属性 调用方法 类类 类类 描述类的类 不是官方定义的语言 Class forName
  • Flutter开发篇 TextField和TextFromField

    TextFiled和TextFromField都是用来输入的 但是也是有区别的 尤其是方法有很大的区别 大家可以分别查看源码文档 在资料比较少的情况下那是最快的学习方法 TextEditingController controller Te
  • git创建本地分支,远程分支

    一 本地分支 创建本地分支 然后切换到dev分支 git checkout b dev git checkout命令加上 b参数表示创建并切换 相当于以下两条命令 git branch dev git checkout dev 然后 用gi
  • word自动编号设置方法

    需求是使用word时自动生成如下类型的自动编号 第一章 项目详细设计 1 1 视频监控系统 1 1 1 前端子系统 1 1 1 1 球机 第二章 案例介绍 2 1 某某区平安城市介绍 实现方法 1 首先点击 多级列表 定义新的多级列表 2
  • python爬虫-数据可视化-气温排行榜

    本文的文字及图片来源于网络 仅供学习 交流使用 不具有任何商业用途 版权归原作者所有 如有问题请及时联系我们以作处理 以下文章来源于腾讯云 作者 py3study 想要学习Python Python学习交流群 1039649593 满足你的