码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 爬虫之Scrapy架构


    目录

    Scrapy架构介绍

    Scrapy下载

    Scrapy基本使用

    Scrapy目录结构

    Scrapy解析数据

    settings相关配置

    基础配置

    增加爬虫的爬取效率

    去重规则(布隆过滤器)

    持久化方案(数据保存)

    request和response传递参数

    网页解析下一页继续爬取

    爬虫和下载中间件

    加代理,cookie,header,集成selenium

    scrapy-redis实现分布式爬虫


    Scrapy架构介绍

    Scrapy是适用于Python的一个快速、高层次的屏幕抓取和web抓取框架,其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的,使用它可以以快速、简单、可扩展的方式从网站中提取所需的数据。但目前Scrapy的用途十分广泛,可用于如数据挖掘、监测和自动化测试等领域,也可以应用在获取API所返回的数据(例如 Amazon Associates Web Services ) 或者通用的网络爬虫

    引擎(EGINE)

    引擎负责控制系统所有组件之间的数据流,并在某些动作发生时触发事件。

    调度器(SCHEDULER)

    用来接受引擎发过来的请求,压入队列中,并在引擎再次请求的时候返回。可以想像成一个URL的优先级队列,由它来决定下一个要抓取的网址是什么,同时去除重复的网址。

    下载器(DOWLOADER)

    用于下载网页内容,并将网页内容返回给EGINE,下载器是建立在twisted这个高效的异步模型上的。

    爬虫(SPIDERS)

    SPIDERS是开发人员自定义的类,用来解析responses,并且提取items,或者发送新的请求。

    项目管道(ITEM PIPLINES)

    在items被提取后负责处理它们,主要包括清理、验证、持久化(比如存到数据库)等操作。

    下载器中间件(Downloader Middlewares)

    位于Scrapy引擎和下载器之间,主要用来处理从EGINE传到DOWLOADER的请求request,已经从DOWNLOADER传到EGINE的响应response。

    爬虫中间件(Spider Middlewares)

    位于EGINE和SPIDERS之间,主要工作是处理SPIDERS的输入(即responses)和输出(即requests)。

    Scrapy下载

    安装:

    pip install scrapy
    

    如果安装失败,就需要走下面的流程:

    1.安装wheel,之后通过wheel文件安装软件,wheel文件官网

    pip install wheel
    
    pip install l
  • 相关阅读:
    Android实战项目(初级向) - 趣味数学 -下
    项目实战(SpringJDBC框架事务管理)
    npm实现格式化时间---就是实现时间按照要求输出--moment包
    【牛客编程题】shell34题(Linux awk,grep命令)
    a的充分条件是什么意思;a的必要条件是什么意思;a是b的充分条件是什么意思;
    java加sqlite3右键菜单版圣经,还没检查错误
    OptaPlanner 发展方向与问题
    [附源码]SSM计算机毕业设计新生入学计算机配号系统JAVA
    Design Experience
    JavaWeb基础学习(5)
  • 原文地址:https://blog.csdn.net/weixin_67531112/article/details/128207052
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号