温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2020-08-16 17:45:01 阅读:210 作者:极简XksA 栏目:编程语言
Python开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

【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爬网程序提取数据。它目前由网络抓取开发和服务公司Scrapinghub Ltd.维护


 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

PS H:\env\> virtualenv spiderenv


2

Using base prefix 'c:\\users\\82055\\appdata\\local\\programs\\python\\python36'


3

New python executable in H:\env\spiderenv\Scripts\python.exe


4

Installing setuptools, pip, wheel...done.


5

注: 如果系统中有两个python环境(py2和py3),新建基于py3的虚拟环境方法


6

virtualenv -python=你的Python3安装目录(精确到python.exe) spiderenv(虚拟环境名称)


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

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

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


1

# 注:打开powershell 的可以参照下面操作


2

PS H:\env\spiderenv\Scripts> cmd


3

Microsoft Windows [版本 10.0.17134.112]


4

(c) 2018 Microsoft Corporation。保留所有权利。


5



6

H:\env\spiderenv\Scripts>activate


7

(spiderenv) H:\spiderenv\Scripts>


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


1

pip install scrapy


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


1

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


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


1

pip install -i https://pypi.douban.com/simple/  scrapy


3.快速进入虚拟环境方法

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


1

# windows下安装方法


2

 pip install virtualenvwrapper-win


3

# 其他环境下安装


4

 pip install virtualenvwrapper


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


1

变量名:WORKON_HOME


2

变量值:你的虚拟环境安装目录


3


比如:我的虚拟环境spiderenv安装在H:\env目录下,我的变量值就为:H:\env\



4

注:变量值最后一定要以 \ 结尾,不然可能不会产生效果。




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

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

 1

PS C:\Users\82055\Desktop> cmd


 2

Microsoft Windows [版本 10.0.17134.112]


 3

(c) 2018 Microsoft Corporation。保留所有权利。


 4



 5

C:\Users\82055\Desktop>workon


 6



 7

Pass a name to activate one of the following virtualenvs:


 8

==============================================================================


 9

spiderenv


10



11

C:\Users\82055\Desktop>workon spiderenv


12

(spiderenv) C:\Users\82055\Desktop>


13

# 注释:成功进入,退出虚拟环境命令为 : deactivate


4.创建一个基于Scrapy框架的项目

 1

# 进入到自己的项目存放目录


 2

(spiderenv) H:\env>cd H:\spider_project


 3



 4

# 使用scrapy命令创建一个新工程


 5

(spiderenv) H:\spider_project>scrapy startproject spider_bole_blog


 6



 7

New Scrapy project 'spider_bole_blog', using template directory 'h:\\env\\spiderenv\\


 8

lib\\site-packages\\scrapy\\templates\\project', created in:


 9

    H:\spider_project\spider_bole_blog


10

# 提示创建网站爬虫命令


11

You can start your first spider with:


12

    cd spider_bole_blog


13

    scrapy genspider example example.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>cd spider_bole_blog


3



4

# 执行命令,创建一个基于Srapy的伯乐在线的爬虫


5

(spiderenv) H:\spider_project\spider_bole_blog>scrapy genspider jobbole blog.jobbole.com


6



7

Created spider 'jobbole' using template 'basic' in module:


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

    

# 该方法负责解析返回数据(response data),提取数据(生成item)以及生成需要进一步处理的URL



23

    

# 的 Request 对象。



24

    


def

 

parse


(self, response)

:



25

        

pass



四、后言

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

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

原文链接:http://blog.itpub.net/31556503/viewspace-2216251/

AI

开发者交流群×