python 爬虫爬取疫情数据,爬虫思路和技术你全都有哈(二、数据清洗及存储)

爬起疫情数据,有两个网址:

1、百度:链接

2、丁香园疫情:链接

在这两个中,丁香园的爬虫相对简单一点,所以今天就展示一哈,百度的,哈哈哈。毕竟挑战一哈自己,看看有啥缺陷。不过确实在找数据方面,存在很多的问题,有很多地方需要学习哈。

但是看完这篇后,你再写丁香园的爬虫代码的时候,就很简单了。

可以自己尝试一下,给自己定个小目标,先来学习百度爬虫代码,课后作业,丁香爬虫代码

今日任务爬虫爬取疫情数据,我们向着百度疫情API伸出了万恶的魔爪哈!!!

目录

本次所用到的库:

爬虫思路

第一步: 确定爬取的网站连接

第二步:确定静态数据或动态数据,确定数据的位置

第三步:怎样解析数据

代码部分

第一步:请求网站(记得导入包哈)

第二步:解析所得到的网页源码

第三步:数据清洗

中国疫情地图制作


本次所用到的库:

  • import requests                                          HTTP请求库
  • from lxml import etree                               xpath解析库
  • import json                                                 json数据格式包
  • from pyecharts.charts import Map             绘制中国疫情地图的包
  • from pyecharts import options as opts       绘制条形图的库
  • import pymysql                                           mysql数据库调用接口

就不仔细讲这些库的作用了,后面代码部分在一起讲给大家听哈。

首先,先说思路哈

爬虫思路

第一步: 确定爬取的网站连接

百度:爬取疫情数据链接

第二步:确定静态数据或动态数据,确定数据的位置

进入一个陌生的网站,首先确定是静态数据还是动态数据(又称前后端分离页面),先查看是否未静态页面(进入源码页),然后再查看是否未动态数据(进入开发者模式),进入源码页。你就会看到这样一幕(我偷偷找了好久,最好在script标签里面看到了,属实是第一次遇到这种情况),当下滑动条往右边拉的时候 ,你就会绝望了哈。

     第三步:怎样解析数据        

确定是静态数据之后,可以选择用re(正则)xpath等,进行解析页面数据哈。

本文用的是xpath哈,前面已经说过了。而且这样的数据,必然是一个json数据,所以需要进行转换哈。str 转 json数据格式,就必须用到,json包中的json.loads()函数哈。但是在转换之前也能看到这些字符是有点不对劲的,所以还需要再 str 数据格式中进行转换utf-8字符集。

思路差不多就是这些了哈,在没有做反爬的基础上,大部分爬虫都是这三步

然后就是代码部分了哈

代码部分

一步一步来,慢慢给你们讲清楚哈

第一步:请求网站(记得导入包哈)

def HTTP_get(url):resp = requests.get(url)resp.encoding = 'utf-8'return resp.textif __name__ == '__main__':url = 'https://voice.baidu.com/act/newpneumonia/newpneumonia/?from=osari_aladin_banner&city='resp = HTTP_get(url)
print(resp)

请求成功后返回的是网页源码,此时数据格式是str格式,而我们需要的数据也在其中

第二步:解析所得到的网页源码

def xpath_json(resp):print('xpath_json  ------  2')html = etree.HTML(resp)str_list = html.xpath("//script[@id='captain-config']/text()")str_list = str_list[0].replace('\'', '')  # 去掉 '' 单引发str_list = str_list.encode('utf-8')  # 转码字符集,转码中文# str_list = str_list.encode('utf-8').decode('unicode_escape')  # 转码字符集,转码中文json_list = json.loads(str_list)return json_listif __name__ == '__main__':url = 'https://voice.baidu.com/act/newpneumonia/newpneumonia/?from=osari_aladin_banner&city='# 请求HTTPresp = HTTP_get(url)print(resp)# 解析数据json_list = xpath_json(resp)
此时输出的数据是json格式的数据,并且是我们需要的数据,但是因为数据太繁杂,太乱,所以我们还需要清洗数据

下面将是清洗数据

python 爬虫爬取疫情数据,爬虫思路和技术你全都有哈(二、数据清洗及存储)

python 爬虫爬取疫情数据,爬虫思路和技术你全都有哈(一)相关推荐

  1. python 爬虫爬取疫情数据,爬虫思路和技术你全都有哈(二)

    上一章: python 爬虫爬取疫情数据,爬虫思路和技术你全都有哈(一.爬虫思路及代码) 第三步:数据清洗 清洗数据很简单,就是数据太乱的话,就得花些时间,所以一定要有一个好的方法,才能避免在清洗数据 ...

  2. Python爬虫爬取疫情数据并可视化展示

    这篇文章主要介绍了Python利用爬虫爬取疫情数据并进行可视化的展示,文中的示例代码讲解清晰,对工作或学习有一定的价值,需要的朋友可以参考一下.编程资料点击领取 目录 知识点 开发环境 爬虫完整代码 ...

  3. Java实现简单爬虫——爬取疫情数据

    1.项目准备 在项目中使用到了jsoup和fastjson jsoup用于创建一个连接(绘画) 用于获取和解析HTML页面 而fastjson对数据进行一个格式化 在pom.xml导入坐标 <d ...

  4. python爬虫数据分析可以做什么-python爬虫爬取的数据可以做什么

    在Python中连接到多播服务器问题,怎么解决你把redirect关闭就可以了.在send时,加上参数allow_redirects=False 通常每个浏览器都会设置redirect的次数.如果re ...

  5. python爬表格数据_python爬虫,爬取表格数据

    python爬虫,爬取表格数据 python爬虫,爬取表格数据 python爬虫,爬取全国空气质量指数 编程环境:Jupyter Notebook 所要爬取的网页数据内容如下图 python爬虫代码及 ...

  6. java爬虫抓取nba_利用Python爬虫爬取NBA数据功能实例分享

    Python实现爬虫爬取NBA数据功能示例 本文实例讲述了Python实现爬虫爬取NBA数据功能.分享给大家供大家参考,具体如下: 爬取的网站为:stat-nba.com,这里爬取的是NBA2016- ...

  7. python爬取率_Python实现爬虫爬取NBA数据功能示例

    本文实例讲述了Python实现爬虫爬取NBA数据功能.分享给大家供大家参考,具体如下: 爬取的网站为:stat-nba.com,这里爬取的是NBA2016-2017赛季常规赛至2017年1月7日的数据 ...

  8. python爬网站数据实例-利用Python爬虫爬取NBA数据功能实例分享

    Python实现爬虫爬取NBA数据功能示例 本文实例讲述了Python实现爬虫爬取NBA数据功能.分享给大家供大家参考,具体如下: 爬取的网站为:stat-nba.com,这里爬取的是NBA2016- ...

  9. Python爬虫爬取网页数据并存储(一)

    Python爬虫爬取网页数据并存储(一) 环境搭建 爬虫基本原理 urllib库使用 requests库使用 正则表达式 一个示例 环境搭建 1.需要事先安装anaconda(或Python3.7)和 ...

最新文章

  1. ThinkPHP快捷方法使用总结
  2. python 中type和object的关系
  3. LNMP(nginx php-fpm mysql) 环境部署——mysql
  4. sql如何获取全部的索引名称_这句简单的sql,如何加索引?颠覆了我多年的认知...
  5. 整理:C++中sprintf()函数的使用详解
  6. c语言字符串中取最大字符串,使用C语言提取子字符串及判断对称子字符串最大长度...
  7. bootstrap基础学习十篇
  8. 27.用zxing生成二维码
  9. Web前后端笔记-vue封装http请求添加signature及后端(Java)解析并验证
  10. 使用Python+tkinter编写电脑桌面放大镜程序
  11. 护士资格考试难不难?护士资格考试通过率怎么样?
  12. grafana和zabbix的端口映射
  13. python对于设计师有什么用-《学习PYTHON—做个有编程能力的设计师》
  14. hyperledger caliper 测试配置yaml
  15. arm服务器虚拟x86,云服务器arm64和x86
  16. 电脑计算机配置应用程序兼容性,软件和系统不兼容怎么办 电脑禁用程序兼容助手服务的操作方法...
  17. Android 旋转动画简单实现
  18. 高三数学辅导:不等式、推理与证明
  19. 电脑chm文件打不开解决方法
  20. 阿里高级测开:软件测试(功能、接口、性能、自动化)详解

热门文章

  1. 在格外传统的能源领域,大数据和AI相关并购案呈爆炸式增长
  2. 【Linux中shell命令】.sh文件种种操作
  3. mysql 创建列的索引_mysql创建多列索引及优化
  4. [实变函数]5.1 Riemann 积分的局限性, Lebesgue 积分简介
  5. 如何翻译图片上的英文?建议收藏这三个方法
  6. M1支持Windows arm_不讲武德?改变规则?苹果M1处理器 amp; ARM Mac简评
  7. 收藏!图解JVM经典五十问,这下面试稳了!
  8. 关于逆波兰算法进行公式单位的推导
  9. H5的新特性及API详解(很惊人)
  10. 如何使用阿里巴巴矢量图标库下载使用字体图标?