python爬虫框架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安装环境:window10 x64系统、python3.8、pycharm-idle、miniconda、scrapy

一、scrapy的安装

在miniconda创建的py3.8环境下安装scrapy

在minicomda命令行中输入下列命令,如果miniconda安装时与cmd相连则在cmd中输入也可以

注:安装scrapy时需切换到conda相应的环境中

conda install scrapy

可以输入验证

scrapy

得到如下或类似结果,表面安装成功
在这里插入图片描述

安装后也可以采用下列命令验证:

scrapy bench

查看scrapy的相关命令

scrapy -h

↓ ↓ ↓
在这里插入图片描述

一. 新建项目(scrapy startproject)

在开始爬取之前,必须创建一个新的Scrapy项目。进入自定义的项目目录中,运行下列命令:

scrapy startproject mySpider	

其中, mySpider 为项目名称,可以看到将会创建一个 mySpider 文件夹,目录结构大致如下:

下面来简单介绍一下各个主要文件的作用:

mySpider/
    scrapy.cfg
    mySpider/
        __init__.py
        items.py
        pipelines.py
        settings.py
        spiders/
            __init__.py
            ...

这些文件分别是:

scrapy.cfg: 项目的配置文件。

mySpider/: 项目的Python模块,将会从这里引用代码
。
mySpider/items.py: 项目的目标文件。

mySpider/pipelines.py: 项目的管道文件
。
mySpider/settings.py: 项目的设置文件。

mySpider/spiders/: 存储爬虫代码目录。
二、创建爬虫

方法1:

scrapy genspider spider_name url
#spider_name 必须唯一且不与项目名称相同
#url 需要爬去网址的url
例:scrapy genspider kuaiip  kuaidaili.com
注:用该命令创建时确保当前文件位置是在项目文件中,此处的项目文件是用startproject创建的项目文件中。

在这里插入图片描述

方法2:

在startproject命令创建的项目文件中的spiders文件中自己创建一个.py文件来创建爬虫文件

方法1和方法2的区别:

法1生成的spider.py文件会自动填写一些内容,而法2则完全需要自己去输入

附法1py文件:
在这里插入图片描述

而爬虫的相关语句则需要在 parse模块中自己编写对应的程序

三、运行爬虫

然后进入cmd或者miniconda命令行,在项目的根目录下运行

scrapy crawl lxf

笔者的计划为爬出ip及port
代理ip地址:

https://www.kuaidaili.com/free/ https://www.89ip.cn/index_2.html

相关视频博主:https://www.bilibili.com/video/BV1m441157FY?from=search&seid=4412432979565577345(讲的究极细,究极煎蛋)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值