一、http
当⽤户在地址输⼊了⽹址 发送⽹络请求的过程是什么
1、http的请求⽅式
(1)get请求
优点: ⽐较便捷
缺点:不安全;明⽂;参数的⻓度有限制
(2)post请求
⽐较安全;数据整体没有限制;上传⽂件
(3)put(不完全的)
(4)delete(删除⼀些信息)
2、head(请求头)
发送⽹络请求(需要带⼀定的数据给服务器不带数据也可以)
请求头⾥⾯requestheader
返回数据:response
1)Accept:⽂本的格式
2)Accept-Encoding:编码格式
3)Connection:⻓链接 短链接
4)Cookie:验证⽤的
5)Host:域名
6)Referer:标志从哪个⻚⾯跳转过来的
7)User-Agent:浏览器和⽤户的信息
二、爬⾍⼊⻔:
使⽤代码模拟⽤户 批量的发送⽹络请求 批量的获取数据
1、爬⾍的价值:
(1)买卖数据(⾼端的领域价格特别贵
(2)数据分析:出分析报告
(3)流量
(4)指数阿⾥指数,百度指数
2、合法性:灰⾊产业
政府没有法律规定爬⾍是违法的,也没有法律规定爬⾍是合法的
公司概念:公司让你爬数据库(窃取商业机密)责任在公司
3、爬⾍可以爬取所有东⻄?
(不是)爬⾍只能爬取⽤户能访问到的数据
爱奇艺的视频(vip⾮vip)
(1)普通⽤户 只能看⾮vip 爬取⾮vip的的视频
(2)vip 爬取vip的视频
(3)普通⽤户想要爬取vip视频(⿊客)
4、爬⾍的分类
(1)通⽤爬⾍
使⽤搜索引擎:百度 ⾕歌 360 雅⻁ 搜狗
优势:开放性 速度快
劣势:⽬标不明确
返回内容:基本上%90是⽤户不需要的
不清楚⽤户的需求在哪⾥
(2)聚焦爬⾍(学习)
⽬标明确
对⽤户的需求⾮常精准
返回的内容很固定
增量式:翻⻚:从第⼀⻚请求到最后⼀⻚
(3)Deep 深度爬⾍:
静态数据:html css
动态数据:js代码,加密的js
robots:是否允许其他爬⾍(通⽤爬⾍)爬取某些内容
聚焦爬⾍不遵守robots
爬⾍和反爬做⽃争:资源对等 胜利的永远是爬⾍
5、爬⾍的⼯作原理:
(1)确认你抓取⽬标的url是哪⼀个(找)
(2)使⽤python代码发送请求获取数据(java Go)
(3)解析获取到的数据(精确数据),找到新的⽬标(url)回到第⼀步(⾃动化)
(4)数据持久化
6、python3(原⽣提供的模块):urlib.rquest:
(1)、urlopen :
1)、返回response对象
2)、response.read()
3)、bytes.decode("utf-8")
(2)get:传参
汉字报错 :解释器ascii没有汉字,url汉字转码
(3)post
(4)handle处理器的⾃定义
(5)urlError
接下来将的知识点:
request(第三⽅)
数据解析:xpath bs4
数据存储