1.复习内容
2.灵感代办
3.学习内容
-
爬虫基础 requests
-
请求头,响应头
- response.request.headers 请求头
- response.headers 响应头
-
cookie的获取
- response.cookies 获得cookjar对象
-
使用cookie
- 1.在header中写
- 将请求头设置为一个字典
- 字典内cookie:”cookie=值;”
- 2.将cookie给cookies参数
- 构建cookies 构建为字典
- 将cookie字典赋值给cookies参数
-
代理
- 什么是代理:
- 连接一个ip,ip的服务器可以帮我们访问目标地址
- 正向代理 反向代理(发送方,请求方)
- 从浏览器到客户端,叫正向代理
- vpn,翻墙
- 不为浏览器客户端转发请求
- nginx
- 代理的分类
- 匿名度
- 透明 匿名 高匿
- 协议:
- http,https,socks
- 使用方法
- 接收一个字典,键的格式固定
- proxies = {http:’’,https:’’}
- 代理失败会报错,或者长时间阻塞
-
scrapy 模块
- 引擎:数据信号的传递
- 调度器 :任务队列
- 下载器:
- 爬虫:具体执行代码
- 管道:数据保存提取
- 中间件:定制化操作
-
crawlspider爬虫
- 原理:
- 适合数据在一个页面上的数据,多级页面
- scrapy第二种爬虫
- 变化:
- rules = () 规则 可以正则提取网址
- follw 是否在子连接中继续提取连接
-
rules = (
Rule(LinkExtracotr(allow=r"",callback="回调函数",follw=True))
)
-
scrapy 下载中间件的使用
- meta
- meta是一个字典
- 可以在管道,中间件中使用
- 分类:
- 下载中间件
- 爬虫中间件
- 作用
- header cookie更换
- 使用代理ip
- 对请求做定制化
- 中间件的使用方法
- 在middlerware.py 中定义中间件,需要注册
- process_request
- request通过下载中间件时候使用
- 返回none 如果所有下载器中间件都返回none 则请求最终交给下载器
- 返回request 通过引擎交给调度器,不通过权重低的下载器
- 返回response 不再去请求,返给调度器
- process_response
- 当下载器完成请求,传递给引擎时候调用
- 返回response 通过殷勤交给爬虫处理或交给权重更低的其他下器中间件process_response放啊
- 返回request 通过引擎交给调取器继续请求,不通过其他权重更低的process_request方法
- 权重值小优先执行
-
Webdriver方式获取数据
- 1.判断需要获取数据的url
- 2.driver.get() 打开url
- 3.driver.page_source 获取到网页源码
- 4.创建一个响应对象 HtmlResponse(scrapy.http中)
- 5.返回这个响应对象
-
分布式 爬虫
4.扩展延伸知识
5.知识内容个人梳理
6.今天都复习了之前的什么内容
3.学习内容
-
爬虫基础 requests
-
请求头,响应头
- response.request.headers 请求头
- response.headers 响应头
-
cookie的获取
- response.cookies 获得cookjar对象
-
使用cookie
- 1.在header中写
- 将请求头设置为一个字典
- 字典内cookie:”cookie=值;”
- 2.将cookie给cookies参数
- 构建cookies 构建为字典
- 将cookie字典赋值给cookies参数
-
代理
- 什么是代理:
- 连接一个ip,ip的服务器可以帮我们访问目标地址
- 正向代理 反向代理(发送方,请求方)
- 从浏览器到客户端,叫正向代理
- vpn,翻墙
- 不为浏览器客户端转发请求
- nginx
- 代理的分类
- 匿名度
- 透明 匿名 高匿
- 协议:
- http,https,socks
- 使用方法
- 接收一个字典,键的格式固定
- proxies = {http:’’,https:’’}
- 代理失败会报错,或者长时间阻塞
-
scrapy 模块
- 引擎:数据信号的传递
- 调度器 :任务队列
- 下载器:
- 爬虫:具体执行代码
- 管道:数据保存提取
- 中间件:定制化操作
-
crawlspider爬虫
- 原理:
- 适合数据在一个页面上的数据,多级页面
- scrapy第二种爬虫
- 变化:
- rules = () 规则 可以正则提取网址
- follw 是否在子连接中继续提取连接
-
rules = (
Rule(LinkExtracotr(allow=r"",callback="回调函数",follw=True))
)
-
scrapy 下载中间件的使用
- meta
- meta是一个字典
- 可以在管道,中间件中使用
- 分类:
- 下载中间件
- 爬虫中间件
- 作用
- header cookie更换
- 使用代理ip
- 对请求做定制化
- 中间件的使用方法
- 在middlerware.py 中定义中间件,需要注册
- process_request
- request通过下载中间件时候使用
- 返回none 如果所有下载器中间件都返回none 则请求最终交给下载器
- 返回request 通过引擎交给调度器,不通过权重低的下载器
- 返回response 不再去请求,返给调度器
- process_response
- 当下载器完成请求,传递给引擎时候调用
- 返回response 通过殷勤交给爬虫处理或交给权重更低的其他下器中间件process_response放啊
- 返回request 通过引擎交给调取器继续请求,不通过其他权重更低的process_request方法
- 权重值小优先执行
-
Webdriver方式获取数据
- 1.判断需要获取数据的url
- 2.driver.get() 打开url
- 3.driver.page_source 获取到网页源码
- 4.创建一个响应对象 HtmlResponse(scrapy.http中)
- 5.返回这个响应对象
-
分布式 爬虫
4.扩展延伸知识
5.知识内容个人梳理
6.今天都复习了之前的什么内容
爬虫基础 requests
-
请求头,响应头
- response.request.headers 请求头
- response.headers 响应头
-
cookie的获取
- response.cookies 获得cookjar对象
-
使用cookie
- 1.在header中写
- 将请求头设置为一个字典
- 字典内cookie:”cookie=值;”
- 2.将cookie给cookies参数
- 构建cookies 构建为字典
- 将cookie字典赋值给cookies参数
- 1.在header中写
-
代理
- 什么是代理:
- 连接一个ip,ip的服务器可以帮我们访问目标地址
- 正向代理 反向代理(发送方,请求方)
- 从浏览器到客户端,叫正向代理
- vpn,翻墙
- 不为浏览器客户端转发请求
- nginx
- 从浏览器到客户端,叫正向代理
- 代理的分类
- 匿名度
- 透明 匿名 高匿
- 协议:
- http,https,socks
- 使用方法
- 接收一个字典,键的格式固定
- proxies = {http:’’,https:’’}
- 代理失败会报错,或者长时间阻塞
- 匿名度
- 什么是代理:
-
scrapy 模块
- 引擎:数据信号的传递
- 调度器 :任务队列
- 下载器:
- 爬虫:具体执行代码
- 管道:数据保存提取
- 中间件:定制化操作
-
crawlspider爬虫
- 原理:
- 适合数据在一个页面上的数据,多级页面
- scrapy第二种爬虫
- 变化:
- rules = () 规则 可以正则提取网址
- follw 是否在子连接中继续提取连接
-
rules = ( Rule(LinkExtracotr(allow=r"",callback="回调函数",follw=True)) )
- 原理:
-
scrapy 下载中间件的使用
- meta
- meta是一个字典
- 可以在管道,中间件中使用
- 分类:
- 下载中间件
- 爬虫中间件
- 作用
- header cookie更换
- 使用代理ip
- 对请求做定制化
- 中间件的使用方法
- 在middlerware.py 中定义中间件,需要注册
- process_request
- request通过下载中间件时候使用
- 返回none 如果所有下载器中间件都返回none 则请求最终交给下载器
- 返回request 通过引擎交给调度器,不通过权重低的下载器
- 返回response 不再去请求,返给调度器
- process_response
- 当下载器完成请求,传递给引擎时候调用
- 返回response 通过殷勤交给爬虫处理或交给权重更低的其他下器中间件process_response放啊
- 返回request 通过引擎交给调取器继续请求,不通过其他权重更低的process_request方法
- 权重值小优先执行
- meta
-
Webdriver方式获取数据
- 1.判断需要获取数据的url
- 2.driver.get() 打开url
- 3.driver.page_source 获取到网页源码
- 4.创建一个响应对象 HtmlResponse(scrapy.http中)
- 5.返回这个响应对象
分布式 爬虫
5.知识内容个人梳理
6.今天都复习了之前的什么内容