centos7下安装scrapy

centos7下安装scrapy

1.centos下安装的开发工具包

[root@localhost ~]# yum groupinstall development
[root@localhost ~]# yum install libffi-devel python-devel openssl-devel  libxslt-devel

2.安装pip
首先安装新的yum软件源,centos7自带的软件源没有pip

[root@localhost ~]# yum install epel-release

安装pip

[root@localhost ~]# yum install python-pip

3.安装scrapy

[root@localhost ~]# pip install scrapy

pip会把scrapy用的依赖包都安装好,安装完成后显示如下
scrapy安装完成图
pip再/usr/lib/python/site-packages/usr/lib64/python/site-packages下都安装包

我走的弯路:
一定先把centos下的开发工具包都安装好,然后pip就一条命令,pip会把scrapy需要的依赖全部安装好。如果pip安装后scrapy报错,那可能是centos开发工具的问题,再yum安装相应的工具包。不要用pip了。
我装完之后报错缺openssl,又看官网pip安装了pyopenssl,结果opensll装在了/usr/lib64/python2.7/site-packages
scrapy安装依赖是装在/usr/lib/python2.7/site-packages,还缺很多文件,不知道什么原因

4.检查下scrapy是否安装正确

[root@localhost ~]# scrapy -v

输出如下图
scrapy运行图

但这并不一定就表明安装成功了,需要在建个爬虫试试。
根据官网上的例子:
[root@localhost ~]# scrapy startproject tuto
会在当前目录下自动创建一个文件夹和一个文件
然后再spider目录下建立quotes_spider.py文件,填入以下代码:

import scrapy

class QuotesSpider(scrapy.Spider):
    name = "quotes"  #这个就是之后用到的爬虫名

    def start_requests(self):
        urls = [
            'http://quotes.toscrape.com/page/1/',
            'http://quotes.toscrape.com/page/2/',
        ]
        for url in urls:
            yield scrapy.Request(url=url, callback=self.parse)

    def parse(self, response):
        page = response.url.split("/")[-2]
        filename = 'quotes-%s.html' % page
        with open(filename, 'wb') as f:
            f.write(response.body)
        self.log('Saved file %s' % filename)

然后再tuto目录下,运行:

[root@localhost ~]# scrapy crawl quotes

如果运行成功会在当前目录下新建2个文件:quotes-1.html,quotes-2.html

这个测试文件非常好,因为没有解析HTML文件,就是爬到网页,存下来。如果成功就表明scrapy安装成功了。之后调试时也可以先试试能能存下文件来,如果能,至少表明爬取成功了。


scrapy的官方文档地址:https://docs.scrapy.org/en/latest/

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值