导图社区 Python爬虫思维导图
这是一篇关于Python爬虫的思维导图,知识内容有Python爬虫的简介、目的、流程步骤、库和框架、反爬等,收藏下图学习吧!
社区模板帮助中心,点此进入>>
互联网9大思维
安全教育的重要性
组织架构-单商户商城webAPP 思维导图。
个人日常活动安排思维导图
域控上线
西游记主要人物性格分析
17种头脑风暴法
python思维导图
css
CSS
Python爬虫
简介
用python语言来编写的,自动获取网页中信息程序
目的
私人订制搜索引擎
用于大数据分析
流程步骤
确定目标url
分析页面确定策略
深度优先
优先爬取一个网页,然后将这个网页的下层链接爬完再返回上一层
广度优先
优先爬取同一层的网页,将同一层的网页爬取完之后,再选择下一层次的网页
分析调用接口
找规律
分析数据结构
API
解析json
网页
解析数据结构
xath
re
数据清洗
数据入库
反爬
验证码
自动识别验证码
云打码
滑块
selenium模拟操作
设置headers(user_agent、cookie。。。)
ip访问频次
代理IP
分布式
设置延时
动态js
selenium
加密的参数
大公司的基本无解
小公司的基本靠猜
库和框架
requests
requests是一个基于Apache2协议开源的Python HTTP库
基本开发流程
设置headers、useragent等
调用方法(GET、POST、。。。)
接收response
优点
简易、快速获取
非常适合处理json数据
缺点
功能单一,没有流水作业
只能爬反爬不高的网站
只能爬静态页面的网页
scrapy
是为了爬取网站数据,提取结构性数据而编写的爬虫应用框架,底层实现实际上还是requests库
主要成分
Scrapy Engine(引擎)
负责控制数据流在系统中所有组件中的流动,并在相应动作发生时触发事件,相当于爬虫的大脑
Scheduler(调度器)
request的调度器和调度队列
对要爬取的url去重
Downloader(下载器)
专门负责下载
spider(爬虫)
由用户编写的爬虫,分析response,提取需要的信息
Item Pipeline(数据管道)
提取spider解析后的response,并数据清理和持久化
middlewares(中间件)
针对某些特殊的requests进行定制扩展功能
生成scrapy通用的基本的模板爬虫
编写spider.py文件
编写items.py文件
编写pipeline.py文件
编写middlewares.py文件
编写settings.py文件
一个框架能装N多个爬虫
爬虫模板化,开发效率高
异步协程,性能高
管道的方式存入数据库,灵活
也是只能爬静态页面的网页
Selenium是一个用程序模拟人操作浏览器网页的自动化库,可以模拟用户操作(鼠标、键盘)
依赖
浏览器
浏览器对应的webdriver
就是你操作网页的流程
边操作边开发边检验
相当于一个浏览器,可以渲染JS动态网页,能爬取更多的内容
可以在windows和liunx上以无界面模式运行
模拟操作,性能低
内存占用较大