爬虫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爬虫框架学习之使用start_requests函数实现用户登录
- 爬虫Scrapy框架之学习使用(三):信号(Signals)
- Python爬虫框架Scrapy 学习笔记 5 ------- 使用pipelines过滤敏感词
- 爬虫Scrapy框架之学习使用(二):DownloaderMiddleWares
- Scrapy爬虫框架学习笔 二 CrawlSpider的使用
- Python爬虫框架Scrapy 学习笔记 8----Spider
- 使用Scrapy框架编写爬虫
- Python爬虫框架Scrapy 学习笔记 10.3 -------【实战】 抓取天猫某网店所有宝贝详情
- Python爬虫框架Scrapy 学习笔记 10.2 -------【实战】 抓取天猫某网店所有宝贝详情
- Python爬虫框架Scrapy 学习笔记 1 ----- 环境搭建
- Python的Scrapy爬虫框架简单学习笔记
- windows下使用python的scrapy爬虫框架,爬取个人博客文章内容信息
- 使用python scrapy爬虫框架 爬取科学网自然科学基金数据
- 零基础写python爬虫之使用Scrapy框架编写爬虫
- 讲解Python的Scrapy爬虫框架使用代理进行采集的方法
- scrapy爬虫框架的使用
- Python爬虫框架Scrapy 学习笔记 7------- scrapy.Item源码剖析
- Python爬虫框架Scrapy 学习笔记 10.2 -------【实战】 抓取天猫某网店所有宝贝详情
- 零基础写python爬虫之使用Scrapy框架编写爬虫
- Python的Scrapy爬虫框架简单学习笔记