python爬虫可视化题目北京空气质量监测数据获取与分析
任务1:数据采集
网页“http://pm25.in/beijing”中包含北京12个监测点的空气质量监测数据,请编写程序抓取网页(网页样本保存在源素材文件夹下src1目录中)上的监测点、AQI、空气质量指数类别,如表H2-1-1所示。将抓取的数据保存,以bj20200721.csv文件命名。
表H2-1-1 北京空气质量监测数据
监测点 AQI 空气质量指数类别
万寿西宫 57 良
…… …… ……
1)使用Pycharm在考生文件夹下创建项目task030101,在项目下创建python文件,命名为task1.py。将源素材文件夹下的src1目录复制到项目task030101下。
2)根据实际项目需求进行问题分析,书写注释。
3)编写程序,正确爬取网页中的数据,运行程序并显示“已爬取”。
4)编写程序,将抓取的数据保存在项目task030101下,以bj20200721.csv文件命名,分隔符为tab键,运行程序并显示“已保存”。
5)将运行结果截图,保存在考生文件夹下,以task1.jpg文件命名。
**
答案:
import bs4
from bs4 import BeautifulSoup
from urllib import request
import pandas
## 解析网页内容
# ulist:保存解析后的网页内容, html:传入的网页内容
def jiexi(ulist,html):soup = BeautifulSoup(html, 'html.parser') ##创建BeautifulSoup对象,并指定BeautifulSoup中TreeBuilder的解析器为html.parserfor tr in soup.find('tbody').children: ## 循环标签tbody下的所有tr标签,一个迭代对象if isinstance(tr,bs4.element.Tag): ## 判断是否bs4.element.Tag类型tds = tr('td') ## 得到这一行中的数据ulist.append([tds[0].string,tds[1].string,tds[2].string]) ## 添加到三个## 分析数据,等到二维表格
def tofile(ulist):data = pandas.DataFrame(ulist) ##数据框架,制作二维表data.columns =['监测点','AQI','空气质量指数类别'] ## 设置列名data.to_csv('./bj20200721.csv',header=True,sep='\t',index=False) ## 写入csv
## 主函数
def main():uinfo=[]url='http://pm25.in/beijing' ##得到网页地址html = request.urlopen(url).read().decode('utf-8') ##打开网页,并读取网页,设置编码格式jiexi(uinfo,html) ## 调用jiexi函数print("已爬取")tofile(uinfo) ##调用tofile函数print('已保存')
# 主接口
if __name__ == '__main__':main()
任务2:数据处理和分析
**
使用Python的pandas读取bj20200721.csv文件(bj20200721.csv文件保存在源素材文件夹下task030102\src2目录中),完成数据处理和分析。
1)将源素材文件夹下task030102项目复制到考生文件夹下,使用Pycharm打开项目task030102,打开task2.py。
2)根据实际项目需求进行问题分析,书写注释。
3)编写程序,完成readFile(filename)函数的定义,使用pandas读取bj20200721.csv文件中的数据,返回值类型为DataFrame。
4)编写程序,完成printInfo(filename)函数定义,显示bj20200721.csv文件中的内容,如图H2-1-1所示。
图H2-1-1显示bj20200721.csv文件中的内容
5)编写程序,完成insertDate(filename)函数的定义,将2020-07-21日期数据作为新的一列添加到Excel文件中,列名称为“监测日期”,保存在项目task030102下,文件命名为bj20200721.xlsx。
6)编写程序,完成aqi(filename)函数的定义,显示空气质量指数类别为优的记录。
7)编写程序,导入模块,调用自定义的readFile、printInfo、insertDate、aqi函数,实现上述功能,注意参数的正确设置。
8)将运行结果截图,保存在考生文件夹下,以task2.jpg文件命名。
答案:
import pandas ## pandas 提供了大连能使我们快速便捷的处理数据的函数和方法# 读取数据
def readFile(filename):file = pandas.read_csv(filename, sep='\t', encoding='utf-8') ##读取csv文件return file# 显示内容
def printInfo(filename):file = readFile(filename) ## 读取数据print(file)# 插入数据
def insertDate(filename):file = readFile(filename)file['监测日期'] = pandas.to_datetime('2021-09-10') ##插入列file.to_excel('./bj20200721.xlsx') ## 写入excel格式文件中# 筛选数据
def aqi(filename):file = readFile(filename)print(file.loc[file['空气质量指数类别'] == '优']) ## 筛选空气质量指数类别为优的数据if __name__ == '__main__':filename = './bj20200721.csv'readFile(filename)printInfo(filename)print('----------------------------------------')insertDate(filename)print('插入时间成功')print('-----------------------------------')aqi(filename)
任务3:数据可视化
使用Python读取bj20200721.csv文件(bj20200721.csv文件保存在源素材文件夹下src3目录中)中的数据,使用matplotlib绘制直方图,显示aqi最少的4个监测点。
1)使用Pycharm在考生文件夹下创建项目task030103,在项目下创建python文件,命名为task3.py。将源素材文件夹下的src3目录复制到项目task030103下。
2)根据实际项目需求进行问题分析,书写注释。
3)编写程序,使用pandas读取bj20200721.csv文件中的数据。使用matplotlib绘制直方图,显示AQI最少的4个监测点,如图H2-1-2所示。生成的文件保存在项目task030103下,文件命名为aqi.png。
答案:
import pandas as pd
import matplotlib.pyplot as plt
# 设置格式显示中文,显示正负号
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = 'False'
# 读取文件
data = pd.read_csv('./src3/bj20200721.csv', sep='\t', encoding='utf-8')
# 设置画布大小,清晰度
plt.figure(figsize=(8, 7), dpi=100)
# 设置标题
plt.title('20200721北京AQI最少的4个监测点')
# 给读取的文件按值排序 by:排序类别 ascending:是否升序 选取前4个
file = data.sort_values(by='AQI', ascending=True)[:4]
print(file)
# 绘制直方图,设置横纵坐标,宽度
plt.bar(file['监测点'], file['AQI'], width=0.8)
plt.xlabel('监测点') # 添加x轴名称
plt.ylabel('AQI') # 添加y轴名称
plt.savefig('./api.png') # 图形保存到本地
plt.show()
python爬虫可视化题目北京空气质量监测数据获取与分析相关推荐
- 使用 Cloud Insight SDK 监控北京空气质量!
现在越来越多的 App 都开始有广告了.特别是空气质量监测,和天气类的 App,广告还是蛮多的,眼花缭乱,真是够了. 最近刚好在用一款系统监控工具 Cloud Insight,它提供的 SDK 可以把 ...
- 基于 Python 的全国空气质量监测与可视化分析平台
温馨提示:文末有 CSDN 平台官方提供的学长 Wechat / QQ 名片 :) 1. 项目背景 空气质量优劣程度与一个城市的综合竞争力密切相关,它直接影响到投资环境和居民健康,因此越来越受到政府和 ...
- 【JS逆向系列】某空气质量监测平台无限 debugger 与 python算法还原
[JS逆向系列]某空气质量监测平台无限 debugger 与 python算法还原 1.前置阅读 2.过反调试 3.js分析 4.代码逻辑改写 1.前置阅读 样品地址:aHR0cHM6Ly93d3cu ...
- 二十八、接了一单Python北京空气质量数据处理
@Author :Runsen 这是接的一单Python数据分析的,文件我删了,不好意思 文章目录 北京空气质量数据处理 分析解决方法 代码 计算北京每年的PM2.5情况 计算北京每年1-12月的PM ...
- 【JS 逆向百例】某空气质量监测平台无限 debugger 以及数据动态加密分析
关注微信公众号:K哥爬虫,持续分享爬虫进阶.JS/安卓逆向等技术干货! 文章目录 声明 逆向目标 写在前面 绕过无限 debugger 方法一 方法二 方法三 抓包分析 加密入口 动态 JS 本地改写 ...
- python空气质量分析与预测_干货!如何用 Python+KNN 算法实现城市空气质量分析与预测?...
原标题:干货!如何用 Python+KNN 算法实现城市空气质量分析与预测? 作者 | 李秋键 责编 | 伍杏玲 封图 | CSDN 付费下载自东方 IC 出品 | CSDN(ID:CSDNnews) ...
- 【JS 逆向百例】某空气质量监测平台无限 debugger 以及数据动态加密
关注微信公众号:K哥爬虫,持续分享爬虫进阶.JS/安卓逆向等技术干货! 文章目录 声明 逆向目标 写在前面 绕过无限 debugger 方法一 方法二 方法三 抓包分析 加密入口 动态 JS 本地改写 ...
- 基于Python的2013-2018全国城市空气质量分析
基于Python的2013-2018全国城市空气质量分析 项目摘要 本项目使用pandas/numpy工具包对557424条空气质量数据进行导入及清洗,并使用matplotlib/seaborn/py ...
- PySpark学习案例——北京空气质量分析
下方有数据可免费下载 目录 原始数据 环境 各个组件所遇到的问题 各种webUI端口 Python代码 azkaban调度 kibana可视化 原始数据 下载数据: 请点击我.提取码:736f 或者登 ...
最新文章
- 格式化代码会发生什么?? | 每日趣闻
- s:property 获取 ValueStack中的值
- ine.strip().split()
- apache apollo php,php windows環境 安裝 Apache-apollo + phpMQTT 實現發送 MQTT
- Linux配置Nginx与PHP-FPM出现[error] 80143#0: *1 connect() failed (111: Connection refused) while connectin
- rds基于什么开发_IaaS、PaaS、SaaS、DaaS都是什么?现在怎么样了?终于有人讲明白了...
- C++多线程快速入门(五)简单线程池设计
- ubuntu 11.10 因为gcc版本过高引起的错误,安装 gcc 4.4(转)
- 有一个7升的杯子和一个4升的杯子,如何盛出5升水?
- 四六级阅读难点--选词填空题的一般解题思路
- 天使轮、A轮、B轮、C轮、D轮融资 究竟是什么?
- 成像系统光照度(相机成像辐射传输)
- python中forward的作用_Pytorch学习笔记07----nn.Module类与前向传播函数forward的理解
- 数据库SQL实战 --47.将所有获取奖金的员工当前的薪水增加10%
- JS:offsetParent屬性
- 打造一个实用的Ubuntu
- 单摆周期控制装置(I题)(组委会自命题)
- PDF或图片文档内容识别、关系抽取
- 新手在SSD+HDD上安装win10、Ubuntu 16.04双系统
- Ubuntu 12.04 QQ2012
热门文章
- 爬虫实战:英雄联盟手游能“干掉”王者荣耀?微博4.3亿网友吵翻了……
- redis-----07-----redigo基本命令操作(主要讲如何让go的struct、map展开成redis的参数,以及使用struct获取redis返回的key-value批量数组)
- 第二层、三层、四层交换机原理
- IAR下载: Failed to get cpu status after 4 retrie 的解决方法
- 如何解决CC2640用IAR下载固件出现Fatal error: Failed to load the CPU core driver Session aborted的问题
- PS技巧分享,不容错过
- 学云计算比较好的几个论坛
- 【规范】万字集大成的HDLFPGA学习和规范
- 美国航空发动机发展经验,给中国的启示!
- U盘html文件恢复不了,u盘文件突然不见了怎么恢复?恢复小技巧来了