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

介绍:

Scrapy一个开源和协作的框架,其最初是为了页面抓取所设计的,使用它可以以快速、简单、可扩展的方式从网站中提取所需的数据。但目前Scrapy的用途十分广泛,可用于如数据挖掘、监测和自动化测试等领域,也可以应用在获取API所返回的数据或者通用的网络爬虫。
Scrapy是对twisted框架进一步封装得来的,所以它才也采用了事件驱动机制,并使用异步非阻塞的方式实现了并发。
我们看下Scrapy是如何工作的:
scrapy_workflow
整个框架由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'])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值