• 爬虫


    scrapy的实现原理

    1、爬虫引擎ENGINE获得初始请求开始抓取。

    2、爬虫引擎ENGINE开始请求调度程序SCHEDULER,并准备对下一次的请求进行抓取。

    3、爬虫调度器返回下一个请求给爬虫引擎。

    4、引擎请求发送到下载器DOWNLOADER,通过下载中间件下载网络数据。

    5、一旦下载器完成页面下载,将下载结果返回给爬虫引擎ENGINE。

    6、爬虫引擎ENGINE将下载器DOWNLOADER的响应通过中间件MIDDLEWARES返回给爬虫SPIDERS进行处理。

    7、爬虫SPIDERS处理响应,并通过中间件MIDDLEWARES返回处理后的items,以及新的请求给引擎。

    8、引擎发送处理后的items到项目管道,然后把处理结果返回给调度器SCHEDULER,调度器计划处理下一个请求抓取。

    9、重复该过程(继续步骤1),直到爬取完所有的url请求。


    scrapy有什么优点和缺点

    采取可读性更强的xpath代替正则 
    强大的统计和log系统 
    同时在不同的url上爬行 
    支持shell方式,方便独立调试 
    写middleware,方便写一些统一的过滤器 
    通过管道的方式存入数据库

    缺点:

    scrapy默认的debug模式信息量太大,由于异步框架出错后是不会停掉其他任务的,也就是出错了还会接着跑。。。

    Scrapy原生不支持js渲染,需要单独下载[scrapy-splash]

  • 相关阅读:
    观察者模式
    如何通过反射创建对象?
    java8新特性
    idea 常用快捷键--标蓝
    java多线程基础篇-01
    zookeeper单机版及操作
    redis和jedis常用api
    Mac连接服务器
    redis基本介绍及安装01
    docker 安装mobsf及部分命令01
  • 原文地址:https://www.cnblogs.com/syketw23/p/7667801.html
Copyright © 2020-2023  润新知