爬虫框架 scrapy 的简单介绍 以及 安装和简单使用

scrapy是什么?

        它是Python的一个爬虫框架,非常出名、非常强悍,因为是框架,所以需要学习的就是框架的用法,当然,它的底层肯定使用了多进程、多线程、队列等技术。

        scrapy框架由五部分组成,包括:引擎、下载器、spiders、调度器(schedule)、管道(pipeline),一般我们进行爬虫实现的代码写到spiders、管道中,在spiders里面我们可以实现文件内容解析、链接提取等,在管道中,可以实现选择我们的数据是保存到文件中还是数据库(mysql、MongoDB)中。

scrapy框架的安装

在终端输入:pip install scrapy即可完成安装。

如果安装过程中出现如下错误:

building 'twisted.test.raiser' extension
error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools
解决方案如下:
下载twisted对应版本的whl文件(如我的Twisted-17.9.0-cp36-cp36m-win_amd64.whl),cp后面是python版本,amd64代表64位,在终端运行如下命令即可安装,注意python版本必须是64位的:

pip install C:\Users\CR\Downloads\Twisted-17.9.0-cp36-cp36m-win_amd64.whl

scrapy框架的简单使用

   (1)创建项目

            scrapy startproject myproject

                注:在mac中报错zsh: command not found: scrapy

                解决方法:python3 -m scrapy startproject myproject即可。

如图所示:

   (2)认识目录结构

            myproject
                myproject           真正的项目文件
                    __pycache__      缓存文件
                    spiders          爬虫文件存放的地方
                        __pycache__
                        __init__.py
                        lala.py      爬虫文件(*)
                    __init__.py      包的标志
                    items.py         定义数据结构的地方(*)
                    middlewares.py   中间件
                    pipelines.py     管道文件(*)
                    settings.py      配置文件(*)
                scrapy.cfg           不需要管

        (3)生成爬虫文件

            cd myproject
            scrapy genspider baidu www.baidu.com

            注:在mac中报错zsh: command not found: scrapy

                解决方法:python3 -m scrapy genspider baidu www.baidu.com即可。
            name: 爬虫名字
            allowed_domains: 允许的域名
            start_urls: 起始url
            parse: 自动回调的解析内容函数

        (4)运行爬虫程序

                cd myproject/myproject/spiders

                scrapy crawl baidu

                在程序运行的过程中可能会出现问题可以通过以下方式进行解决:

                1、pywin32安装一下,注意版本
                2、取消遵从robots协议
                    settings.py中第22行
                3、修改UA头部信息

                    settings.py中第19行

        (5)存储爬虫文件

            爬取的文件可以存储为**.json,**.xml,**.csv形式,使用方法如下:
            scrapy crawl baidu -o baidu.json
            scrapy crawl baidu -o baidu.xml
            scrapy crawl baidu -o baidu.csv
            注意:当文件输出为csv的时,中间可能有空行,可以查资料进行解决

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值