scrapy学习笔记(二)-目录文件意义简析

一、文件目录简析

在这里插入图片描述
scrapyTest/: 项目python模块, 代码将从这里导入
scrapyTest/spiders: 放置spider的目录
scrapyTest/items.py: 项目items文件
scrapyTest/main.py: 为方便调试,自定义的main文件
scrapyTest/settings.py: 项目配置文件
scrapyTest/pipelines.py: 项目管道文件
scrapy.cfg: 项目配置文件

1、scrapyTest/spiders

存放爬虫文件的目录
在这里插入图片描述

要建立一个Spider,你必须为scrapy.spider.BaseSpider(scrapy.Spider)?创建一个子类,并确定三个主要的、强制的属性:
name:爬虫的识别名,它必须是唯一的,在不同的爬虫中你必须定义不同的名字.
start_urls:爬虫开始爬的一个URL列表。爬虫从这里开始抓取数据,所以,第一次下载的数据将会从这些URLS开始。其他子URL将会从这些起始URL中继承性生成。
parse():爬虫的方法,调用时候传入从每一个URL传回的Response对象作为参数response将会是parse方法的唯一的一个参数,这个方法负责解析返回的数据、匹配抓取的数据(解析为item)并跟踪更多的URL。
其他属性:

name爬虫的识别名,它必须是唯一的,在不同的爬虫中你必须定义不同的名字.
start_urls爬虫开始爬的一个URL列表。爬虫从这里开始抓取数据,所以,第一次下载的数据将会从这些URLS开始。其他子URL将会从这些起始URL中继承性生成。
parse()爬虫的方法,调用时候传入从每一个URL传回的Response对象作为参数,response将会是parse方法的唯一的一个参数,这个方法负责解析返回的数据、匹配抓取的数据(解析为item)并跟踪更多的URL。
allowed_domains它是一个Spider抓取的域的列表.
crawler它是一个属性,链接到Spider实例所绑定的爬虫对象.
settings这些是运行Spider的设置.
logger它是一个Python日志记录器,用于发送日志信息.
from_crawler(crawler,*args,**kwargs)它是一个类方法,可以创建你的Spider。其参数是 −crawler − 一个爬虫,Spider实例将被绑定到该爬虫
args(list)这些参数被传递给方法 init ().
kwargs(dict)这些关键字参数被传递给方法 init().
start_requests()当没有指定特定的URL,并且Spider被打开进行爬虫时,Scrapy调用start_requests()方法.
make_requests_from_url(url)它是一种用于将urls转换为请求的方法.
parse(response)该方法处理响应,并返回更多的URL后的废旧数据.
log(message[,level,component])它是一个通过Spider记录器发送日志信息的方法.
closed(reason)这个方法在Spider关闭时被调用.

2、scrapyTest/items.py

装载抓取的数据的容器,类似字典,同时提供更多的保护,比如对未定义的字段填充以防止拼写错误。
在这里插入图片描述
在该文件中定义所爬取记录的数据结构,建立相应的字段。

3、scrapyTest/main.py

在这里插入图片描述
原本执行爬虫需在终端键入 scrapy crawl (爬虫名),为直接在pycharm中直接运行调试,将main文件路径改成上图,注意参数为列表类型。若想无日志输出,加多一个
'–nolog’参数。

4、scrapyTest/settings.py

在相应的 settings.py 文件中定义可显示中文的 JSON Lines Exporter,设置爬取间隔等

5、scrapyTest/pipelines.py

用作于持久化存储
当Item 在Spider中被收集之后,就会被传递到Item Pipeline中进行处理

每个item pipeline组件是实现了简单的方法的python类,负责接收到item并通过它执行一些行为,同时也决定此Item是否继续通过pipeline,或者被丢弃而不再进行处理。

item pipeline的主要作用:

  1. 清理html数据
  2. 验证爬取的数据
  3. 去重并丢弃
  4. 讲爬取的结果保存到数据库中或文件中

6、scrapy.cfg

scrapy.cfg是 Scrapy tool 执行的环境参数,Scrapy 命令启动的时候,会从如下的路径中去查找scrapy.cfg文件,

/etc/scrapy.cfg或者c:\scrapy\scrapy.cfg,既是首先在系统范围内查找;
在用户级别的路径中查找~/.config/scrapy.cfg ($XDG_CONFIG_HOME) 和~/.scrapy.cfg(\HOME);
最后在项目的根目录中查找scrapy.cfg;

相同属性如果在不同文件中有所定义,那么将会被合并,合并相关的优先级顺序是,用户级别的属性高于系统级别和项目级别的属性,也就是说,如果在用户级别定义了某个scrapy.cfg的属性,那么该属性会覆盖其它的;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值