CentOS7下安装Scrapy步骤详细介绍

CentOS 7下安装Scrapy步骤详细介绍

安装前准备

在安装Scrapy之前,需要确保安装了Python和pip包管理工具。

安装Python

在CentOS 7上,可以使用以下命令安装Python:

$ sudo yum install -y python

安装pip

pip是Python的包管理工具。使用以下命令安装pip:

$ sudo yum install -y epel-release
$ sudo yum install -y python-pip

安装Scrapy

在安装Python和pip之后,可以使用pip安装Scrapy:

$ sudo pip install scrapy

验证Scrapy是否安装成功

可以使用以下命令验证Scrapy是否安装成功:

$ scrapy -h

如果Scrapy已经安装成功,应该可以看到Scrapy的帮助文档。

示例说明

示例1: 爬取网站

这里以爬取一个简单的网站为例。假设我们要爬取url为http://quotes.toscrape.com/的网站。

$ scrapy startproject myproject
$ cd myproject
$ scrapy genspider quotes_spider quotes.toscrape.com

在myproject/spiders目录中会生成一个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)

运行如下命令:

$ scrapy crawl quotes

Scrapy会下载http://quotes.toscrape.com/page/1/和http://quotes.toscrape.com/page/2/上的网页,并将网页保存到当前目录下的quotes-1.html和quotes-2.html文件中。

示例2: 爬取Amazon网站

这里以爬取Amazon网站为例。假设我们要爬取url为https://www.amazon.com的网站。

$ scrapy startproject myproject
$ cd myproject
$ scrapy genspider amazon_spider amazon.com

在myproject/spiders目录中会生成一个amazon_spider.py文件。打开这个文件,加入如下代码:

import scrapy

class AmazonSpider(scrapy.Spider):
    name = "amazon"
    allowed_domains = ["amazon.com"]
    start_urls = [
        "https://www.amazon.com/books-used-books-textbooks/b/ref=nav_shopall_bo_t3?ie=UTF8&node=283155"
    ]

    def parse(self, response):
        for sel in response.xpath('//ul[@class="s-result-list s-col-3"]/li'):
            title = sel.xpath('div/div[2]/div[@class="a-row"]/a/@title').extract_first()
            price = sel.xpath('div/div[4]/div[1]/a/span/text()').extract_first()
            if title is not None and price is not None:
                yield {
                    'title': title,
                    'price': price
                }

        next_page_url = response.xpath('//a[text()="Next"]').extract_first()
        if next_page_url is not None:
            yield scrapy.Request(response.urljoin(next_page_url), callback=self.parse)

运行如下命令:

$ scrapy crawl amazon

Scrapy会爬取Amazon网站上的二手书的标题和价格,并将这些信息保存到命令行中。如果Amazon网站上有多页结果,Scrapy会继续翻页并继续爬取。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:CentOS7下安装Scrapy步骤详细介绍 - Python技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • 单机Linux下搭建MongoDB副本集-三节点

    前言说明  Linux下安装MongoDB副本集我基本上是一次搭建,几百年不再碰,也记不住具体的命令,偶尔需要搭建都是直接网上找的教程。 有些教程很精简,有些又版本不一样,所以索性我整合下别人的教程,把linux下搭建副本集的步骤记录下并分享出来,希望能够帮到你们。   参考以下文章:https://developer.aliyun.com/article/…

    Linux 2023年4月10日
    00
  • 如何在Linux系统上进行性能测试?

    在Linux系统上进行性能测试可以通过多种工具和方法来实现,下面将介绍一个基本的流程和常用的工具。 1. 确定测试目标和指标 在开始测试之前,首先需要明确测试的目标和指标。常见的测试目标可能包括服务器的响应时间、并发处理能力、吞吐量等等。针对不同的目标,需要选择不同的测试指标来进行评估。 2. 选择性能测试工具 Linux系统提供了多种性能测试工具,以下是一…

    Linux 2023年4月19日
    00
  • Linux下GrADS的安装

    安装环境:Fedora 16,用户名guge 软件包:grads-2.0.1-bin-i686-pc-linux-gnu.tar.gz(grads主程序),               data2.tar.gz(grads自带字体、地图包),               example.tar.Z(样例测试包)        (以上软件包从http://ww…

    Linux 2023年4月11日
    00
  • CentOS搭建squid正向代理

    squid介绍 官网地址:http://www.squid-cache.org/ Squid cache(简称为 Squid)是一个流行的自由软件(GNU 通用公共许可证)的代理服务器和 Web 缓存服务器。Squid 有广泛的用途,从作为网页服务器的前置 cache 服务器缓存相关请求来提高 Web 服务器的速度,到为一组人共享网络资源而缓存万维网,域名系…

    Linux 2023年4月27日
    00
  • CentOS 7.4下安装Oracle 11.2.0.4数据库的方法

    CentOS 7.4下安装Oracle 11.2.0.4数据库 1. 安装依赖环境 Oracle 11.2.0.4 需要一些依赖包,执行以下命令,安装所需的依赖环境: yum install binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio…

    Linux 2023年5月14日
    00
  • CentOS中yum 源的配置与使用详解

    CentOS中yum源的配置与使用详解 在CentOS操作系统中,yum是一种非常常用的软件包管理器。yum源是yum软件包管理器的软件仓库,我们可以通过yum源方便地获取需要的软件包。在这篇文章中,我们将介绍如何配置和使用yum源。 配置yum源 默认情况下,CentOS的yum源已经配置好了,我们只需要在命令行中输入以下命令即可使用: yum insta…

    Linux 2023年5月14日
    00
  • Linux中安装Nginx的正确步骤

    下面是Linux中安装Nginx的正确步骤的完整攻略: 1. 准备工作 在开始安装Nginx之前,需要进行一些准备工作: 更新apt-get:执行命令sudo apt-get update; 安装编译工具和库文件:执行命令sudo apt-get install -y build-essential libpcre3 libpcre3-dev zlib1g …

    Linux 2023年5月14日
    00
  • [Linux] linux路由表

    路由表用于决定数据包从哪个网口发出,其主要判断依据是目标IP地址Linux路由表其实有2个主要概念:按顺序走路由策略,在路由策略对应的路由表中匹配规则路由策略(rule)路由表(table)     查看所有的路由策略,32766那个策略最有用,对应的main路由表也是默认展示的路由表ip rule list0: from all lookup local …

    Linux 2023年4月13日
    00
合作推广
合作推广
分享本页
返回顶部