加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Scrapy使用(一)

发布时间:2020-12-20 12:54:59 所属栏目:Python 来源:网络整理
导读:简介 Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,可以应用在数据挖掘,信息处理或存储历史数据等一系列的程序中,Scrapy用途广泛可以用于数据挖掘检测和自动化测试,Scrapy使用Twisted异步网络库来处理网络通信。 流程图 调度器把reques

简介
Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,可以应用在数据挖掘,信息处理或存储历史数据等一系列的程序中,Scrapy用途广泛可以用于数据挖掘检测和自动化测试,Scrapy使用Twisted异步网络库来处理网络通信。


流程图


调度器把request对象交给引擎,引擎负责把request对象交给(中间有个下载中间件)下载器,下载器发生请求,获取response,下载把response交给引擎,下载器在把response交给(中间有一个爬虫中间)爬虫,爬虫提取数据,然后在将提取到的response,交给引擎,引擎将response交给pipeline。


Scrapy主要组件

Scrapy基本命令

scrapy startproject 项目名称 #在当前目录中创建一个项目文件
cd 项目名称 #进入到项目文件
scrapy genspider 爬虫名称 爬虫链接 #创建爬虫应用
scrapy
scrapy list #展示爬虫列表
scrapy crawl 爬虫名 #运行爬虫
scrapy --nolog #不显示日志信息可以跟运行爬虫的时候配合使用
scrapy genspider -t crawl 爬虫名称 爬虫链接 #创建c‘rawl爬虫
scrapy --help #可以获得爬虫帮助文档

Debug信息

?

文件介绍

文件说明
Spider:
自定义spdider类,继承scrapy.spider,这个主要是用来接收引擎发过来的response我进行数据提取。parse()里面可以写一些信息提取规则,详细见图。


Iter:
iter用来做数据格式化的,类型为字典,详情请看图。

setting:
setting设置爬虫的请求头,cookie,数据库信息等内容。

Pipeline:
pipeline主要进行的是数据的持久化,比如:一些数据要保存到数据库,文件或者别的地方都可以在pipeline下面来进行设置保存。
PS:
1.其中它的process_item()方法名是不能更改为别的名称。
2.如果要使用pipeline需要到setting配置文件中设置,代码如下:
3.pipeline中权重越小优先级越高
4.pipeline可以设置多个class来进行数据的保存

pipeline setting设置
ITEM_PIPELINE={‘myspider.MyspiderPipeline‘:100} #{pipeline的位置:权重}


yiled object 与 yiled Request
yiled object:
yiled对象必须返回 Request,Baseitem,dict,None

yiled Request:
能构建一个request,同时指定提取数据的callback函数,meta
ps:
参数:meta:传递信息给下一个函数
日志的设置


Crawl spider




Crawl spider 总结

)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读