1. 首页
  2. IT资讯

【Python | 边学边敲边记】第四次:初识爬虫框架Scrapy

【Python | 边学边敲边记】第四次:初识爬虫框架Scrapy

一、前言

本系列上一篇:【Python | 边学边敲边记】第三次:URL去重策略

今天给大家分享的是,Python里的爬虫框架Scrapy学习,包含python虚拟环境的搭建、虚拟环境的使用、Scrapy安装方法详解、Scrapy基本使用、Scrapy项目目录及内容基本介绍,let's go!

二、Python爬虫框架Scrapy简介

推荐查看Scrapy中文帮助文档:点击 阅读原文 静下心来学习!

       1      #维基百科看Scrapy         2      '''       3    Scrapy(SKRAY-pee)是一个免费和开源网络爬行框架Python编写的。最初设计用于Web抓取,它还可       4    以用于使用API或作为通用Web爬网程序提取数据。它目前由网络抓取开发和服务公司ScrapinghubLtd.维护       5     6    Scrapy项目体系结构是围绕“Spider”构建的,它们是自包含的爬虫,可以获得一组指令。遵循其他框架的精       7    神,不重复自己的框架,例如Django,它允许开发人员重用他们的代码,从而更容易构建和扩展大型爬行项       8    目。Scrapy还提供了一个Web爬行shell,开发人员可以使用它来测试他们对站点行为的假设。       9    (英译汉有点尴尬!真的想学,还是好好看上面的帮助文档吧)      10    '''        

三、看代码,边学边敲边记虚拟环境、Scrapy框架

1.新建一个虚拟环境

下面 操作之前你需要准备好: (1) 你的 python 版本是3.x,最好系统里只有一个python环境,后面所有学习笔记都基于 py3 的。 (2) python 环境里先安装 virtualenv 模块,基本方法 pip install virtualenv 。 (3)选择好虚拟环境的安装目录(我选的是H盘目录下的 env 文件夹,建议你选的目录路径里最好不要有中文)。

      1    PSH:env>virtualenvspiderenv      2    Usingbaseprefix'c:\users\82055\appdata\local\programs\python\python36'      3    NewpythonexecutableinH:envspiderenvScriptspython.exe      4    Installingsetuptools,pip,wheel...done.      5    注:如果系统中有两个python环境(py2和py3),新建基于py3的虚拟环境方法      6    virtualenv-python=你的Python3安装目录(精确到python.exe)spiderenv(虚拟环境名称)      

安装完成后再自己选择的目录下会多出一个文件夹(虚拟环境),我这里为 H:envspiderenv ,后面所有爬虫学习过程中需要的模块、接口都将 pip (安装)在里面。

2.打开虚拟环境,安装Scrapy框架

进入到目录 H:envspiderenvScripts (我的虚拟环境目录),按住 shift +鼠标右键,打开 powershell 或者 cmd (如果是 powershell 就先输入 cmd ),再输入 activate ,进入虚拟环境,你会发现在路径前面多了一个括号里面是你的虚拟环境名称,表示你进入了虚拟环境。具体看下面:

      1    #注:打开powershell的可以参照下面操作      2    PSH:envspiderenvScripts>cmd      3    MicrosoftWindows[版本10.0.17134.112]      4    (c)2018MicrosoftCorporation。保留所有权利。      5        6    H:envspiderenvScripts>activate      7    (spiderenv)H:spiderenvScripts>      

安装 scrapy 模块(下面操作都是在虚拟环境下): 方法一:直接pip安装(最简单,安装慢,可能出错)

      1    pipinstallscrapy      

方法二:轮子(wheel)安装(比较简单,安装速度还可以,基本不出错) 点击这里下载scrapy的 .whl 文件,然后移动到你的虚拟环境目录下(比如我的就移动到 H:envspiderenvScripts ),

      1    pipinstallScrapy-1.5.1-py2.py3-none-any.whl      

方法三:豆瓣源安装(比较简单,安装速度快,方便,推荐)

      1    pipinstall-ihttps://pypi.douban.com/simple/scrapy      
3.快速进入虚拟环境方法

安装 virtualenvwrapper 模块,用于管理我们所建的虚拟环境

      1    #windows下安装方法      2    pipinstallvirtualenvwrapper-win      3    #其他环境下安装      4    pipinstallvirtualenvwrapper      

安装完成后,打开 控制面板 – > 系统 -> 高级系统设置 – > 环境变量 -> 系统变量 -> 新建 ,在 新建系统环境变量对话框 中输入如下

      1    变量名:WORKON_HOME      2    变量值:你的虚拟环境安装目录      3      比如:我的虚拟环境spiderenv安装在H:env目录下,我的变量值就为:H:env        4    注:变量值最后一定要以结尾,不然可能不会产生效果。      


【Python | 边学边敲边记】第四次:初识爬虫框架Scrapy

在上面设置完成后,我们在 cmd 执行下面命令,即可简单快速进入虚拟环境:

       1    PSC:Users82055Desktop>cmd       2    MicrosoftWindows[版本10.0.17134.112]       3    (c)2018MicrosoftCorporation。保留所有权利。       4         5    C:Users82055Desktop>workon       6         7    Passanametoactivateoneofthefollowingvirtualenvs:       8    ==============================================================================       9    spiderenv      10        11    C:Users82055Desktop>workonspiderenv      12    (spiderenv)C:Users82055Desktop>      13    #注释:成功进入,退出虚拟环境命令为:deactivate      
4.创建一个基于Scrapy框架的项目
       1    #进入到自己的项目存放目录       2    (spiderenv)H:env>cdH:spider_project       3         4    #使用scrapy命令创建一个新工程       5    (spiderenv)H:spider_project>scrapystartprojectspider_bole_blog       6         7    NewScrapyproject'spider_bole_blog',usingtemplatedirectory'h:\env\spiderenv\       8    lib\site-packages\scrapy\templates\project',createdin:       9    H:spider_projectspider_bole_blog      10    #提示创建网站爬虫命令      11    Youcanstartyourfirstspiderwith:      12    cdspider_bole_blog      13    scrapygenspiderexampleexample.com      

创建成功后文件目录结构:

      1    spider_bole_blog/      2    spider_bole_blog/      3    spiders/      4    __init__.py      5    __init__.py      6    items.py      7    pipelines.py      8    settings.py      9    scrapy.cfg      

目录功能基本介绍:

      1      spider_bole_blog/:该项目的python模块。之后我们将在此加入代码。        2      spider_bole_blog/spiders/:放置spider代码的目录。        3      spider_bole_blog/items.py:项目中的item文件。        4      spider_bole_blog/pipelines.py:项目中的pipelines文件。        5      spider_bole_blog/settings.py:项目的设置文件。        6      scrapy.cfg:项目的配置文件。        

创建一个 jobbole (伯乐在线)的爬虫项目文件:

      1    #进入项目文件      2    (spiderenv)H:spider_project>cdspider_bole_blog      3        4    #执行命令,创建一个基于Srapy的伯乐在线的爬虫      5    (spiderenv)H:spider_projectspider_bole_blog>scrapygenspiderjobboleblog.jobbole.com      6        7    Createdspider'jobbole'usingtemplate'basic'inmodule:      8    spider_bole_blog.spiders.jobbole      

执行完成后会在项目的 spiders 目录下多出一个 jobbole.py 文件,文件内容如下:

       1      #-*-coding:utf-8-*-         2      #编码         3      import    scrapy       4      #导入scrapy包         5         6      #继承scrapy.Spider的JobboleSpider爬虫类         7        class        JobboleSpider      (scrapy.Spider)    :         8         9        #用于区别Spider。该名字必须是唯一的,您不可以为不同的Spider设定相同的名字。        10    name=    'jobbole'        11        12        #允许下载(访问)域        13    allowed_domains=[    'blog.jobbole.com'    ]      14        15        #包含了Spider在启动时进行爬取的url列表。        16        #因此,第一个被获取到的页面将是其中之一。        17        #后续的URL则从初始的URL获取到的数据中提取。        18    start_urls=[    'http://blog.jobbole.com/'    ]      19        20        #是spider的一个方法。        21        #被调用时,每个初始URL完成下载后生成的Response对象将会作为唯一的参数传递给该函数。        22        #该方法负责解析返回数据(responsedata),提取数据(生成item)以及生成需要进一步处理的URL        23        #的Request对象。        24          def        parse      (self,response)    :        25        pass        

四、后言

    今天讲的东西涵盖面还比较广,特别是虚拟环境管理这块, virtualenvwrapper 还有很多命令,很实用,后面会慢慢给大家提及,大家也可以自己百度、谷歌查一下,另外, Scrapy 模块今天也算正式开始,go on!

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31556503/viewspace-2216251/,如需转载,请注明出处,否则将追究法律责任。

主题测试文章,只做测试使用。发布者:布吉卡,转转请注明出处:http://www.cxybcw.com/193444.html

联系我们

13687733322

在线咨询:点击这里给我发消息

邮件:1877088071@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code