对spider来说,爬取的循环类似下文:
-
以初始的URL初始化Request,并设置回调函数。 当该request下载完毕并返回时,将生成response,并作为参数传给该回调函数。
spider中初始的request是通过调用
start_requests()来获取的。start_requests()读取start_urls中的URL, 并以parse为回调函数生成Request。 -
在回调函数内分析返回的(网页)内容,返回
Item对象、dict、Request或者一个包括三者的可迭代容器。 返回的Request对象之后会经过Scrapy处理,下载相应的内容,并调用设置的callback函数(函数可相同)。 -
在回调函数内,您可以使用 选择器(Selectors) (您也可以使用BeautifulSoup, lxml 或者您想用的任何解析器) 来分析网页内容,并根据分析的数据生成item。
-
最后,由spider返回的item将被存到数据库(由某些 Item Pipeline 处理)或使用 Feed exports 存入到文件中
http://scrapy-chs.readthedocs.org/zh_CN/1.0/topics/spiders.html
本文深入解析爬虫循环的核心机制,从初始Request的生成到Response的处理,包括如何使用回调函数解析网页内容并生成Item。讨论了如何利用选择器解析网页数据,以及最终Item的存储方式。
1781

被折叠的 条评论
为什么被折叠?



