scrapy

是一个爬虫框架,是实现的爬虫功能的一个软件结构与功能组件集合。包括7个部分(5+2)组合

scrapy安装:

在命令行输入:

pipinstall scrapy

查看安装结果:

scrapy -h

scrapy命令语法

scrapy <command> [options] [args]

创建工程

基本语法:scrapy startproject <name>

scrapy startproect python123

工程目录

创建爬虫

创建一个demo.py文件

scrapy genspider demo python123.io

开始爬网页

爬取网页并存储

# -*- coding: utf-8 -*-import scrapyclassDemoSpider(scrapy.Spider):name =’demo’#allowed_domains = [‘python123.io’]defstart_requests(self):        urls = [‘http://python123.io/ws/demo.html’]forurlinurls:yieldscrapy.Request(url=url,callback=self.parse)defparse(self, response):        fname = response.url.split(‘/’)[-1]        with open(fname,’wb’) asf:f.write(response.body)self.log(‘Saved file %s.’% fname)

在命令行运行爬虫

语法:scrapy crawl <spider>

scrapy crawl demo

报错解决安装pypiwin32

报错: import win32api ModuleNotFoundError: No module named ‘win32api’

pipinstallpypiwin32

scrapy常用命令

命令说明格式

startproject创建一个新工程scrapy startproject <name> [dir]

genspider创建一个爬虫scrapy genspider [options] <name><domain>

settings获得爬虫配置信息scrapy settings [options]

crawl运行一个爬虫scrapy crawl <spider>

list列出工程中所有爬虫scrapy list

shell启动URL调试命令行scrapy shell [url]

request类-属性与方法

属性与方法说明

.urlrequest对应请求URL地址

.method对应请求方法,‘GET,POST’等

.header字典类型请求头

.body请求内容主体,字符串类型

.meta用户添加的扩展信息,在scrapy模块传递

response类-属性与方法

属性与方法说明

.urlresponse对应请求URL地址

.statushttp状态码,默认是200

.headerresponse对应的头部信息

.body响应内容主体,字符串类型

.flags一组标记

.request产生Response类型对应的request对象

.copy()复制该响应

scrapy爬虫框架的结构

数据流路径(1)

1、Engine从Spider处获得爬取请求(Request)

2、Engine将爬取请求转发给Scheduler,用于调度 

数据流路径(2)

3、Engine从Scheduler处获得下一个要爬取的请求

4、Engine将爬取请求通过中间件发送给Downloader

5、爬取网页后,Downloader形成响应(Response) 通过中间件发给Engine

6、Engine将收到的响应通过中间件发送给Spider处理 

数据流路径(3)

7、Spider处理响应后产生爬取项(scraped Item) 和新的爬取请求(Requests)给Engine

8、Engine将爬取项发送给Item Pipeline(框架出口)

9、Engine将爬取请求发送给Scheduler

数据的出入口

Engine控制各模块数据流,不间断从Scheduler处获得爬取请求,直至请求为空

框架入口:Spider的初始爬取请求框架

出口:Item Pipeline


https://www.jianshu.com/p/5b67e68f5a78

Python量化投资网携手4326手游为资深游戏玩家推荐:《《封印战记》:留言有奖 | 揭开死亡禁区的面纱,新玩法“次元深渊”解禁!

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
NumPy
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论