2020.7.18 爬虫复习

发布于 26 天前  9 次阅读


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.今天都复习了之前的什么内容


Ares个人进阶之路