美文网首页爬虫
Scrapy快速入门

Scrapy快速入门

作者: 乔治大叔 | 来源:发表于2019-11-03 20:47 被阅读0次

一、Scrapy 简介

一个快速、高层次的屏幕抓取和web抓取的Python框架,用于抓取web站点并从页面中提取结构化的数据,可以用于数据挖掘、监测和自动化测试,可根据具体需求个性化定制。
Scrapy架构图:


架构图.png

各组件介绍
ENGINE

引擎(engine)控制所有部件间的数据流,并在某些事件发生时触发事件

Scheduler

调度器(scheduler)接收来自引擎的request,并对它去重,放入到请队列中;并根据队列的取出规则,把请求按顺序返回给引擎

Downloader

下载器(Downloader)获取网页数据并返回给引擎

Spiders

爬虫(Spiders)用来解析response,提取出Items和新的Requests

Item Pipeline

对Items进行进一步的清洗,并持久化

Downloader middlewares

下载中间件可以勾住下载器和引擎之间的数据流,并对它们做一些处理,比如:

在request送到下载器之前对它做一些处理,可以添加User_Agent,修改IP等
对response做一些处理
Spider middlewares

爬虫中间件可以勾住爬虫和引擎之间的数据流,并对它们做一些处理

二、安装scrapy

pip install scrap

当我们满怀欢喜安装的时候,发现:

Command "/usr/bin/python2 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-L1Q1wb/Twisted/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-QWsI2y-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-L1Q1wb/Twisted/
You are using pip version 8.1.2, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

神马情况,好像是告诉我们需要使用:

pip install --upgrade pip

三、创建一个scrapy项目

在开始爬取之前,我们首先要创建一个scrapy项目,在命令行输入一下命令即可创建

scrapy startproject newspider

scrapy startproject这里是固定的,注意scrapy和startproject和newspider中间是有空格的!后面的:newspider是我们创建的爬虫名字,后面我们运行的时候用得到,你需要根据你的情况创建,比如你是想爬取京东你可以这样创建:

scrapy startproject jingdong

如果你输入命令之后,出现了下面的显示:


1571735704463.jpg

恭喜你成功了,我们用pycharm打开查看


1571735959675.jpg

然后只需要再来两条命令就可以了

cd jingdong
scrape genspider jd www.jd.com

1571735928435.jpg

OK,成功的建好了一只爬虫


1571735976577.jpg

下面简单的配置下setting文件

ROBOTSTXT_OBEY = True 改为False

表示不需要遵守ROBOTS协议

DEFAULT_REQUEST_HEADERS = {
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8',
'Accept-Language': 'en',
}

headers的配置就在这里写

ITEM_PIPELINES = {
'jingdong.pipelines.JingdongPipeline': 300,
}

pipeline中间件,指的是jingdong根目录下,pipelines文件,JingdongPipeline类,300是优先级,值越少优先级越高

其他的配置不需要太多的更改,默认就行了

相关文章

  • scrapy 快速入门

    安装Scrapy Scrapy是一个高级的Python爬虫框架,它不仅包含了爬虫的特性,还可以方便的将爬虫数据保存...

  • Scrapy快速入门

    一、Scrapy 简介 一个快速、高层次的屏幕抓取和web抓取的Python框架,用于抓取web站点并从页面中提取...

  • 爬虫-scrapy快速入门

    1. scrapy 概述 官方网站:https://scrapy.org/,打开官方网站,可以看到一段关于scra...

  • Scrapy快速入门实战

    创建一个Scrapy项目 1.创建项目文件夹tutorial 2.创建Spider类 Spider的用法 使用命令...

  • scrapy笔记

    1 scrapy的运行原理 参考:Learning Scrapy笔记(三)- Scrapy基础Scrapy爬虫入门...

  • Scrapy入门案例

    Scrapy入门案例 Scrapy教程: 官方 《Scrapy 1.5 documentation》 中文 《S...

  • scrapy小记

    scrapy入门学习地图 scrapy 框架:http://doc.scrapy.org/en/latest/to...

  • scrapy 进阶使用

    前段时间我写了一篇《scrapy快速入门》,简单介绍了一点scrapy的知识。最近我的搬瓦工让墙了,而且我又学了一...

  • 28.scrapy的入门使用

    scrapy的入门使用 学习目标: 掌握 scrapy的安装 应用 创建scrapy的项目 应用 创建scrapy...

  • scrapy入门使用及pycharm远程调试

    一·scrapy的入门使用 scrapy的安装 创建scrapy项目 创建scrapy爬虫:在项目目录下执行 运行...

网友评论

    本文标题:Scrapy快速入门

    本文链接:https://www.haomeiwen.com/subject/kezqvctx.html