在上一篇文章当中学记给大家展示了 Scrapy 爬虫框架在爬取之前的框架文件该如何设置。在上一篇文章当中,是直接以代码的形式进行描述的,在这篇文章当中学记会解释一下上一篇文章当中爬虫代码当中的一些名词的用法。
在Scrapy爬虫框架中,所有自定义的爬虫都是从这个scrapy.spiders.Spider父类继承下来的,也就是说在这个爬虫框架当中,所有的爬虫代码所适用的的属性和方法都是由此父类规定的。
在这个父类中规定的各个名词的用法如下:
1.name:言简意赅,就是爬虫的名字。
2.allowed_domains:允许爬取的域名,不在此范围的链接不会被跟进爬取。
3.start_urls:起始URL列表,一般会从这个列表开始爬取。
4.custom_settings:用来存放爬虫专属配置的字典,这里的设置会覆盖全局的设置。
5.crawler:与爬虫对应的Crawler对象,利用它可以获取项目的配置信息,如调用crawler.settings.get()。
6.settings:用来获取爬虫全局设置的变量。
7.start_requests():用于生成初始请求,该方法默认使用GET请求访问起始URL。
8.parse():它负责处理Response对象并返回结果,从中提取出需要的数据和后续的请求。
9.closed():当爬虫进程结束之后,该方法会被调用,通常用来做一些释放资源的善后操作。
我们来看一下上一篇文章当中关于 爬虫部分的代码 :
# -*- coding: utf-8 -*- #设置字符格式为 utf-8.
importscrapy
fromscrapy.selector import Selector
fromscrapy.linkextractors importLinkExtractor
fromscrapy.spiders import CrawlSpider, Rule
frombaidu.items import baiduItem
classImageSpider(CrawlSpider):
name= 'image' #即爬虫的名字,主要爬取图片
allowed_domains = ['tieba.baidu.com'] #只爬取百度贴吧内的图片。
start_urls= ['https://tieba.baidu.com/'] #起始爬取 url
rules = (
Rule(LinkExtractor(allow=(r'https://tieba.baidu.com\?start=\d+.*'))),
Rule(LinkExtractor(allow=(r'https://tieba.daidu.com/subject/\d+')), callback='parse_item'),
)
defparse_item(self, response):
sel= Selector(response)
item = baiduItem()
item['name']=sel.xpath('//*[@id="content"]/h1/span[1]/text()').extract()
item['year']=sel.xpath('//*[@id="content"]/h1/span[2]/text()').re(r'\((\d+)\)')
returnitem
一般来说,就是这样的用法,上述的名词在整个爬虫代码当中只占很小的一部分。
如果想学习更多科技知识,可以点击关注。
如果对文章中的内容有什么困惑的地方,可以在评论区提出自己的问题,学记同大家一起交流,解决各种问题,一起进步。
青年学记 陪伴着各位青年
作者:青年学记 一名不断进步的程序猿
一起学习 一起进步
走向自立