网络爬虫——scrapy入门案例

网络爬虫——scrapy入门案例一、概述Scrapy,Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试.其最初是为了页面抓取(更确切来说,网络抓取)所设计的,后台也应用在获取API所返回的数据(例如AmazonAssociatesWebServices)或者通用的网络爬虫.Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。它也提供了多种类型爬虫的基类,如BaseSpider

大家好,又见面了,我是你们的朋友全栈君。

一、概述

Scrapy,Python开发的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试. 其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的, 后台也应用在获取API所返回的数据(例如 Amazon Associates Web Services ) 或者通用的网络爬虫. Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。它也提供了多种类型爬虫的基类,如BaseSpider、sitemap爬虫等,最新版本又提供了web2.0爬虫的支持.

二、Scrapy五大基本构成:

Scrapy框架主要由五大组件组成,它们分别是调度器(Scheduler)、下载器(Downloader)、爬虫(Spider)和实体管道(Item Pipeline)、Scrapy引擎(Scrapy Engine)。下面我们分别介绍各个组件的作用。

(1)、调度器(Scheduler): 调度器,说白了把它假设成为一个URL(抓取网页的网址或者说是链接)的优先队列,由它来决定下一个要抓取的网址是 什么,同时去除重复的网址(不做无用功)。用户可以自己的需求定制调度器。 (2)、下载器(Downloader): 下载器,是所有组件中负担最大的,它用于高速地下载网络上的资源。Scrapy的下载器代码不会太复杂,但效率高,主要的原因是Scrapy下载器是建立在twisted这个高效的异步模型上的(其实整个框架都在建立在这个模型上的)。 (3)、 爬虫(Spider): 爬虫,是用户最关心的部份。用户定制自己的爬虫(通过定制正则表达式等语法),用于从特定的网页中提取自己需要的信息,即所谓的实体(Item)。 用户也可以从中提取出链接,让Scrapy继续抓取下一个页面。 (4)、 实体管道(Item Pipeline): 实体管道,用于处理爬虫(spider)提取的实体。主要的功能是持久化实体、验证实体的有效性、清除不需要的信息。 (5)、Scrapy引擎(Scrapy Engine): Scrapy引擎是整个框架的核心.它用来控制调试器、下载器、爬虫。实际上,引擎相当于计算机的CPU,它控制着整个流程。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/153144.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • goland激活码永久(破解版激活)

    goland激活码永久(破解版激活),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月16日
    143
  • ArcGIS二次开发基础教程(04):有关字段的操作和简单属性及空间查询

    ArcGIS二次开发基础教程(04):有关字段的操作和简单属性及空间查询ArcGIS二次开发基础教程(07):有关字段的操作和简单属性及空间查询属性字段的添加、删除和查找IFeatureLayerGetLayerByName(stringname){ILayerlayer=null;for(inti=0;i<axMapConTrol1.LayerCount;i++){layer=axMapC…

    2022年7月23日
    10
  • 没有风投的创业法则

    没有风投的创业法则

    2021年7月29日
    55
  • 简单的关机程序(C语言)

    简单的关机程序(C语言)Windows系统自带一个名为Shutdown.exe的程序,可以用于关机操作(位置在Windows\System32下),一般情况下Windows系统的关机都可以通过调用程序shutdown.exe来实现的,同时该程序也可以用于终止正在计划中的关机操作。while循环实现:#include<stdio.h>#include<stdlib.h>intmain(){ charinput[20]={0}; system(“showdown-s-t60.

    2022年7月22日
    14
  • Guava之Stopwatch「建议收藏」

    Guava之Stopwatch「建议收藏」Guava之Stopwatch计时器Stopwatch用来计算经过的时间(精确到纳秒)。这个类比调用System.nanoTime()优势在于:性能表现形式更丰富一、类声明以下是com.google.common.base.Stopwatch类的声明:publicfinalclassStopwatchextendsObject二、类方法方法类型方法…

    2022年6月23日
    97
  • html5 visibilitychange事件「建议收藏」

    html5 visibilitychange事件「建议收藏」visibilitychange事件在当前网页在可见和不可见之间变换的时候调用,可以设置用户没有浏览当前网页时执行一些操作,比如停止页面动画。这样可以减少网络请求,减小服务器压力。document.addEventListener(‘visibilitychange’,()=>{if(document.visibilityState===’hidden’){

    2022年6月24日
    43

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号