数据爬取与分析
1. 基础知识
1.1 数据分析的基础知识
数据分析的一般流程:
明确目标-》采集数据-》数据清洗与分析-》绘制图表并且可视化-》得出结论
1.2 具有python特色的程序
1.3 字符串切片
1 循环打印嵌套列表:movies=[“the holy”,1975,“terry jones”,91,[“graham”,
[“michael”,“john”,“gilliam”,“idle”,“haha”]]],实现以下形式的输出:
The holy
1975
2、字典值操作
有如下值集合[11,22,33,44,55,66,77,88,99,90],将所有大于66的值保存至字典的第一个key中,将小于66的值保存至第二个key的值中。即:{‘k1’:大于66的所有值,‘k2’:小于66的所有值}
2. 数据采集-爬虫的设计与实现
2.1 两条技术路线:
-
爬虫框架:scrapy 、selenium
-
request库,urlib原生爬虫
2.2 爬虫概念:
-
网络爬虫
网络爬虫是一种按照一定规则,自动抓取互联信息的程序或者脚本。
由于互联网数据的多样性,资源的有限性,现在根据用户需求定向抓取相关网页并分析,已经成为当今主流爬取策略
-
爬虫的本质
模拟浏览器打开网页,获取网页中我们想要的部分数据
-
爬虫工作流程
- 观察页面特征:使用Ctrl+u查看网页源码,选中某元素,进行审查
- 请求目标网页并获得相应
- 定义信息提取规则,使用re(正则)第三方网页解析器,beautiful soup xpath bs4
- 提取网页数据并保存
-
数据通常需要通过解析,解析方式:
定义信息提取规则,使用re(正则)第三方网页解析器,beautiful soup xpath bs4
2.4 Scrapy 爬虫
2.4.1 Scrapy 爬虫的主要部件以及作用
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pHCwfals-1634735959385)(C:/Users/Lenovo/AppData/Roaming/Typora/typora-user-images/image-20211019203520100.png)]
- Scrapy Engine(引擎): 负责Spider、ItemPipeline、Downloader、Scheduler中间的通讯,信号、数据传递等。
- Scheduler(调度器): 它负责接受引擎发送过来的Request请求,并按照一定的方式进行整理排列,入队,当引擎需要时,交还给引擎。
- Downloader(下载器):负责下载Scrapy Engine(引擎)发送的所有Requests请求,并将其获取到的Responses交还给Scrapy Engine(引擎),由引擎交给Spider来处理
- Spider(爬虫):它负责处理所有Responses,从中分析提取数据,获取Item字段需要的数据,并将需要跟进的URL提交给引擎,再次进入Scheduler(调度器)
- <