Spider就是定义爬取的动作及分析网站的地方。
- spider原理 以初始的URL**初始化Request**,并设置回调函数。 当该request**下载完毕并返回时,将生成**response ,并作为参数传给该回调函数。
- 初始化request —> start_requests() start_requests() 读取 start_urls 中的URL, 并以 parse 为回调函数生成 Request 。
- 回调处理parse(self,response) 以使用 选择器(Selectors)或者BeautifulSoup 来分析网页内容,返回 Item 对象或者 Request 返回的Request对象之后scrapy 会跟进处理 进入下一轮的循环 返回item 会进Item Pipeline 处理数据
4.spider 属性方法
- name 定义spider名字的字符串
- allowed_domains 可选。包含了spider允许爬取的域名(domain)列表(list)
- start_urls URL列表。当没有制定特定的URL时,spider将从该列表中开始进行爬取
- start_requests() 当spider启动爬取并且未制定URL时,该方法被调用。可用于批量生成初始url
- parse() 当response没有指定回调函数时,该方法是Scrapy处理下载的response的默认方法。
- log() 使用 scrapy.log.msg() 方法记录(log)message。
- closed() 当spider关闭时,该函数被调用。