您的位置:首页 > 其它

爬虫Scrapy框架之学习使用(一)

2018-01-24 08:19 323 查看

介绍:

Scrapy一个开源和协作的框架,其最初是为了页面抓取所设计的,使用它可以以快速、简单、可扩展的方式从网站中提取所需的数据。但目前Scrapy的用途十分广泛,可用于如数据挖掘、监测和自动化测试等领域,也可以应用在获取API所返回的数据或者通用的网络爬虫。

Scrapy是对twisted框架进一步封装得来的,所以它才也采用了事件驱动机制,并使用异步非阻塞的方式实现了并发。

我们看下Scrapy是如何工作的:



整个框架由7部分组成:

SPIDERS:负责封装request对象和解析数据;

ENGINE:活动中枢,负责将不同的数据转发给各自的部分处理;

SCHEDULER:调度员,对各种请求进行调度;

DOWNLOADER:负责从网络上下载数据;

ITEM PIPELINES:对ITEMS进行处理,并对数据进行持久化存储,如果数据不符合要求,那么会重新发送请求;

MIDDLEWARE:对请求响应的中间控制;

安装:

pip3 install scrapy

命令行工具:

全局命令:

startproject #创建项目

genspider #创建爬虫程序

runspider #可以独立运行.py文件

fetch #独立于工程单纯的爬取页面,可以拿到请求头

view #下载完毕会弹出浏览器,查看哪些是ajax请求

项目级别命令:

crawl #运行爬虫注意配置中ROBOTSTXT_OBEY = False,你懂的0.0!

check #检查语法错误

list #罗列下到底养了多少条虫子

bench #压力测试(打桩?)

项目结构及各部简介:

project_name/
scrapy.cfg
project_name/
__init__.py
items.py
pipelines.py
settings.py
spiders/
__init__.py
虫子1.py
虫子2.py
虫子3.py


scrapy.cfg : 用于部署scrapy

items.py : 结构化数据

pipelines : 持久化数据

settings.py : 爬虫相关的配置信息,注意选项
要全部大写
,否则无效

spiders : 爬虫目录,爬虫规则写在内部

#"如果要想在PyCharm中运行爬虫" :
from scrapy.cmdline import execute
execute(['scrapy', 'crawl', 'baidu'])
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  scrapy