【Scrapy】Spiders爬虫

Spider类定义了如何爬取某个网站。包括爬取的动作以及如何从网页的内容中提取结构化数据
Spider就是定义爬取的动作及分析某个网页的地方。

爬取的循环:

①以初始的URL初始化Request,并设置回调函数。当该request下载完毕并返回时,将生成response,并作为参数传给该回调函数。
spider中初始的request是通过调用start_requests()来获取的。start_requests()读取start_urls中的URL,并以parse为回调函数生成Request.

②在回调函数内分析返回的(网页)内容。返回Item对象或者Request或者一个包括二者的可迭代容器。返回的Request对象之后会经过Scrapy处理,下载相应的内容,并调用设置的callback函数(函数可以相同)。

③在回调函数内,可以使用选择器(Selectors)(也可以使用BeautifulSoup,lxml或者想用的任何解析器)来分析网页内容,并根据分析的数据生成item。

④最后由spider返回的item将被存到数据库(由某些Item Pipeline处理)或使用Feed exports存入到文件中。

Spider参数

Spider可以通过接收参数来修改其功能。spider参数一般用来定义初始URL或者指定限制爬取网站的部分。也可以使用其来配置spider的任何功能。

在运行crawl时添加-a可以传递Spider参数

scrapy crawl myspider -a category=electronics

Spider

class scrapy.spider.Spider

Spider是最简单的spider。每个其他的spider必须继承自该类(包括Scrapy自带的其他spider以及自己编写的spider)。Spider并没有提供什么特殊的功能。其仅仅请求给定的start_urls/start-requests,并根据返回的结果(resulting responses)调用spider的parse方法。

name
定义spider名字的字符串。spider的名字定义了Scrapy如何定位(并初始化)spider。所以其必须是唯一的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值