scrapy安装教程_玻璃幕墙安装介绍

scrapy安装教程_玻璃幕墙安装介绍在写之前我们先来了解一下什么是Scrapy?Scrapy是用纯Python实现一个为了爬取网站数据、提取结构性数据而编写的应用框架,用途非常广泛框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非常之方便Scrapy使用了Twisted[‘twɪstɪd](其主要对手是Tornado)异步网络框架来处理网络通讯,可以加快我们的下载速度,不…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

在写之前我们先来了解一下什么是Scrapy?

Scrapy是用纯Python实现一个为了爬取网站数据、提取结构性数据而编写的应用框架,用途非常广泛

框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非常之方便

Scrapy 使用了 Twisted['twɪstɪd](其主要对手是Tornado)异步网络框架来处理网络通讯,可以加快我们的下载速度,不用自己去实现异步框架,并且包含了各种中间件接口,可以灵活的完成各种需求

Python3.6 Scrapy安装

Scrapy框架官方网址:http://doc.scrapy.org/en/latest

第一种方法,windows安装

这种方式需要我们打开终端,步骤是windows+r,输入cmd回车进入终端

有时pip版本过于老旧不能使用,需要升级pip版本,输入pip install --upgrade pip回车,升级成功

安装scrapy命令:pip install Scrapy

直接使用命令安装不成功可以下载whl格式的包安装,安装whl格式包需要安装wheel库

输入:pip install wheel

安装完成后验证是否成功

scrapy安装教程_玻璃幕墙安装介绍

scrapy的whl包地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/  

搜索 scrapy

scrapy安装教程_玻璃幕墙安装介绍

因为scrapy框架基于Twisted,所以先要下载其whl包安装

地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/

搜索  twisted     根据自己的版本下载

scrapy安装教程_玻璃幕墙安装介绍

进行安装  xxxxxxxx是包的名字 进入whl包所在的路径,执行下面命令

pip install xxxxxxx.whl

scrapy包使用相同的方式进行安装,进入所在目录,执行

pip install Scrapy‑1.5.1‑py2.py3‑none‑any.whl

第二种方法,利用anaconda安装scrapy框架

使用pip install 来安装scrapy需要安装大量的依赖库,这里我使用了Anaconda来安装scrapy,安装时只需要一条语句:conda install scrapy即可

安装Anaconda,在cmd窗口输入:conda install scrapy  ,输入y回车表示允许安装依赖库

安装完成需要测试是否安装成功,在终端输入scrapy回车,如下图证明安装成功

scrapy安装教程_玻璃幕墙安装介绍

scrapy 基本操作

安装成功后,在自己的pc工程里建一个文件

打开终端,输入cd 把工程里建的文件拖入  回车

提示下面结果  代表成功

scrapy安装教程_玻璃幕墙安装介绍

 

二. Scrapy的基本用法

     首先,在我们进行第一步——Scrapy的安装时,无论通过什么方式安装,都要进行验证,在验证时输入Scrapy命令后,会得到系统给出的类似于文档的提示,其中包括了Scrapy的可执行命令,即Available commands,具体如下图所示:

scrapy安装教程_玻璃幕墙安装介绍

    接下来我们通过建立一个简单的项目应用来了解这些命令的使用:

    ①. 在编译器PyCharm中新建一个文件夹“Scrapy测试”,然后在终端中输入: cd (注意cd后有一个空格),接着讲新建的文件夹拖入命令行,系统会自动补全该文件夹的完整路径,按下回车后就能进入该文件夹。

scrapy安装教程_玻璃幕墙安装介绍

    ②. 在终端输入指令:scrapy startproject wxz 进行项目创建。scrapy startproject是创建项目的命令,后面跟的是项目名称。该指令执行后的结果如下图所示:

scrapy安装教程_玻璃幕墙安装介绍

如图所示:Scrapy测试文件夹中,被创建几个文件夹和py文件,这就表示一个项目初步创建成功。

    ③. 通过cd命令进入wxz文件夹,命令为cd wxz

    ④. 再次输入cd命令,进入外层wxz文件夹中的wxz文件夹,为了快捷和减少出错,可以通过按“↑”键执行命令

    ⑤. 输入cd spiders , 进入spiders文件夹内

    ⑥. 在终端中输入scrapy genspider taobaoSpider baidu.com,这个命令是指定要爬取的网站的域名,命令格式为:scrapy genspider taobaoSpider + 目标网站的域名。执行效果如图所示:

scrapy安装教程_玻璃幕墙安装介绍

至此,一个初步得scrapy项目就已经创建成功,下面我们了解一下这个框架的每个部分的功能:

Scrapy Engine(引擎): 负责Spider、ItemPipeline、Downloader、Scheduler中间的通讯,信号、数据传递等。

Scheduler(调度器): 它负责接受引擎发送过来的Request请求,并按照一定的方式进行整理排列,入队,当引擎需要时,交还给引擎。

Downloader(下载器):负责下载Scrapy Engine(引擎)发送的所有Requests请求,并将其获取到的Responses交还给Scrapy Engine(引擎),由引擎交给Spider来处理,

Spider(爬虫):它负责处理所有Responses,从中分析提取数据,获取Item字段需要的数据,并将需要跟进的URL提交给引擎,再次进入Scheduler(调度器),

Item Pipeline(管道):它负责处理Spider中获取到的Item,并进行进行后期处理(详细分析、过滤、存储等)的地方.

Downloader Middlewares(下载中间件):你可以当作是一个可以自定义扩展下载功能的组件。

Spider Middlewares(Spider中间件):你可以理解为是一个可以自定扩展和操作引擎和Spider中间通信的功能组件(比如进入Spider的Responses;和从Spider出去的Requests)

三. 相关配置文件说明

    在第二部分,我们初步创建了一步Scrapy项目,在自动创建的文件夹中,有着如图所示的几个文件:

 

scrapy安装教程_玻璃幕墙安装介绍

它们的作用分别是:

items.py:定义爬虫程序的数据模型

middlewares.py:定义数据模型中的中间件

pipelines.py:管道文件,负责对爬虫返回数据的处理

settings.py:爬虫程序设置,主要是一些优先级设置,优先级越高,值越小

scrapy.cfg:内容为scrapy的基础配置

值得注意的是,在学习阶段,我们要明白几点设置文件setting中的几处配置代码,它们影响着我们的爬虫的效率:

ROBOTSTXT_OBEY = True

这行代码意思是:是否遵守爬虫协议,学习阶段我们要改为False

 
  1. SPIDER_MIDDLEWARES = {

  2. 'wxz.middlewares.WxzSpiderMiddleware': 800,

  3. }

这里的数值越低,速度越快

四. 开始爬虫应用

    在终端中输入:scrapy genspider 文件名  + 目标网站域名,比如本文所用的就是:scrapy genspider taobao_spider taobao.com

scrapy安装教程_玻璃幕墙安装介绍

       创建成功后,使用scrapy crawl taobao_spider命令,即可得到目标网站的源码:

scrapy安装教程_玻璃幕墙安装介绍

以上便是Scrapy的安装和简单配置了,更多学习请关注我的博客更新。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/192114.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java 工厂模式

    Java 工厂模式简单工厂模式详解简单工厂模式用来定义一个工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。因为在简单工厂模式中用于创建实例的方法是静态方法,因此简单工厂模式又被称为静态工厂方法模式,它属于类创建型模式。简单工厂模式的要点在于,当我们需要什么,只需要传入一个正确的参数,就可以获取我们所需要的对象,而无需知道其创建细节。简单工厂模式结构比较简单,其核心是工厂类的设计,其机构如图所示:在简单工厂模式结构图中包含如下几个角色。Factory(工厂角色):工厂角色即工厂类,它

    2022年7月20日
    21
  • DDPG 算法

    DDPG 算法DDPG算法1离散动作vs.连续动作离散动作与连续动作是相对的概念,一个是可数的,一个是不可数的。在CartPole环境中,可以有向左推小车、向右推小车两个动作。在FrozenLake环境中,小乌龟可以有上下左右四个动作。在Atari的Pong游戏中,游戏有6个按键的动作可以输出。但在实际情况中,经常会遇到连续动作空间的情况,也就是输出的动作是不可数的。比如说推小车力的大小、选择下一时刻方向盘的转动角度或者四轴飞行器的四个螺旋桨给的电压的大小等等。对于这些连续

    2022年6月15日
    106
  • Java核心技术 卷1 基础知识「建议收藏」

    Java核心技术 卷1 基础知识「建议收藏」网站更多书籍点击进入>>CiCi岛下载电子版仅供预览及学习交流使用,下载后请24小时内删除,支持正版,喜欢的请购买正版书籍电子书下载(皮皮云盘-点击“普通下载”)购买正版封页编辑推荐Java领域*有影响力和价值的著作之一,与《Java编程思想》齐名,10余年全球畅销不衰,广受好评  根据JavaSE8全面更新,系统全面讲解Java语言的核心概念、语法…

    2022年7月7日
    23
  • pycharm怎么编译代码_python编程

    pycharm怎么编译代码_python编程python可以说是新的编程语言,虽说是新编程,但一出来,就受到很长程序员的关注,而且刚出现和java进行对比,很多人就拿python和java进行比较,想python到底好不好,他和java有什么区别,要想知道他们的区别,还是要了解python比较好,要知道python知识,今天我们就来看看python里的pycharm编写代码的方式教学。1、新建项目location:为创建项目的地址(或者叫文…

    2022年8月28日
    4
  • cardview属性_RecyclerView

    cardview属性_RecyclerViewCardView是用于实现卡片式布局效果的重要控件,实际上也是一个frameLayout,只是额外提供了圆角和阴影,看上去有立体效果。效果如下:<?xmlversion=”1.0″encoding=”utf-8″?><androidx.cardview.widget.CardViewxmlns:android=”http://schemas.android.com/apk/res/android”xmlns:app=”http:…

    2022年10月11日
    2
  • Java锁的概念「建议收藏」

    Java锁的概念「建议收藏」一:悲观锁在Java中,synchronized和lock锁都是悲观锁。定义:悲观锁认为自己在使用数据的时候一定有别的线程来修改数据,因此在获取数据的时候会先加锁,确保数据不会被别的线程修改二:乐观锁定义:认为自己在使用数据时不会有别的线程修改数据,所以不会添加锁,只是在更新数据的时候去判断之前有没有别的线程更新了这个数据。如果这个数据没有被更新,当前线程将自己修改的数据成功写入。如果数据已经被其他线程更新,则根据不同的实现方式执行不同的操作(例如报错或者自动重试)。乐观锁在Java中.

    2022年7月7日
    22

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号