Spiders
Spiders 是一些爬虫类的集合,这些爬虫定义了爬哪些网站、如何去爬这些网站以及如何去从页面抽取结构化数据。
换句话说,Spiders是你定义用于为特定网站(或者在某些情况下是一组网站)抓取和解析页面的自定义行为的地方。
对于爬虫来说,在爬取周期中会经历以下事情:
1,首先生成抓取第一个URL的初始Requests,然后指定一个回调函数,使用从这些请求下载的响应来调用回调函数。
第一个执行请求通过调用start_requests()方法获得,该方法默认情况下为start_urls和parse方法中指定的URL生成Request作为回调函数。
2, 在回调函数中,解析响应(网页),并返回带提取数据的dicts,Item对象,Request对象或这些对象的迭代。
这些请求还将包含一个回调(可能是相同的),然后由Scrapy下载,然后通过指定的回调处理它们的响应。
3,在回调函数中,通常使用选择器Selectors(但您也可以使用BeautifulSoup,lxml或您喜欢的任何机制)解析页面内容,并使用解析的数据生成项目。
4,最后,从爬虫返回的项目通常会持久化到数据库(在某些Pipeline中)或使用Feed导出写入文件。
尽管这个周期适用于(或多或少)任何类型的爬虫,但为了不同的目的,有不同类型的默认爬虫捆绑到了Scrapy中。
参考链接:https://docs.scrapy.org/en/latest/topics/spiders.html