一、scrapy.Spider爬虫运行流程
编写爬虫时继承scrapy.Spider类的爬虫过程如下
- 首先生成初始请求以爬取第一个URL,并指定要使用从这些请求下载的响应调用的回调函数。
- 在回调函数中,解析响应(网页)并返回,Item对象, Request对象或这些对象的可迭代的dicts。
- 在回调函数中,通常使用选择器解析页面内容 (但您也可以使用BeautifulSoup,lxml或您喜欢的任何机制)并使用解析的数据生成item。
- 最后,从蜘蛛返回的项目通常会持久保存到数据库(在某些项目管道中)或使用Feed导出写入文件。
二、scrapy.Spider爬虫中的属性
-
name(spider的名称)
一个字符串,用于定义此蜘蛛的名称。蜘蛛名称是Scrapy如何定位(并实例化)蜘蛛,因此它必须是唯一的。这是最重要的蜘蛛属性,它是必需的。 -
start_urls(起始 url)
蜘蛛将开始爬取的URL列表。因此,下载的第一页将是此处列出的页面。后续Request将从起始URL中包含的数据连续生成。 - customer_settings(自定义设置)
运行此蜘蛛时将覆盖项目范围的设置。必须将其定义为类属性,因为在实例化之前更新了设置。 - logger
使用Spider创建的Python日志器。您可以使用它来发送日志消息。 - from_crawler(创建spider的类方法)
这是Scrapy用于创建spider的类方法。一般不用覆盖。 - start_requests()------开始请求
此方法必须返回一个iterable,其中包含第一个要爬网的请求。它只会被调用一次。 -
parse(response)---默认回调函数
这是Scrapy在其请求未指定回调时处理下载的响应时使用的默认回调。 - close()----关闭spider
spider关闭时调用。
运行流程的参考文档:https://www.jianshu.com/p/57fe9ee15ef3