CentOS7下安装Scrapy步骤详解

Scrapy · PyPI

Packaging Python Projects – Python Packaging User Guide

centos7下安装scrapy_centos scrapy安装-CSDN博客

如果是购买的是阿里云 ecs,安装的系统需要修改源

永久修改(linux):
(1)尝试修改 ~/.pip/pip.conf : 在用户目录下输入    vi  ~/.pip/pip.conf    ,将下列内容输入到文件中(注意看是否输入完全了,没有则自己手动补上),然后按Esc键输入 :wq 保存退出vim,

PyPI(Python Package Index)是Python编程语言的软件存储库。开发者可以通过PyPI查找和安装由Python社区开发和共享的软件,也可以将自己开发的库上传至PyPI。

下载地址:https://mirrors.aliyun.com/pypi/

公网配置方法

a. 找到下列文件

~/.pip/pip.conf

b. 在上述文件中添加或修改:

[global]
index-url = http://mirrors.aliyun.com/pypi/simple/

[install]
trusted-host=mirrors.aliyun.com

CentOS7下安装Scrapy步骤详细介绍
1.更新yum

1
[root@localhost ~]# yum -y update

2.安装gcc及扩展包

1
[root@localhost ~]# yum install gcc libffi-devel python-devel openssl-devel

3.安装开发工具包

1
[root@localhost ~]# yum groupinstall -y development

4.安装libxslt-devel支持lxml

1
[root@localhost ~]# yum install libxslt-devel

5.安装pip

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

6.安装Scrapy

1
[root@localhost ~]# 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会继续翻页并继续爬取。

解决You are using pip version 8.1.2, however version 22.2.2 is available.

解决You are using pip version 8.1.2, however version 22.2.2 is available.-CSDN博客

问题描述:
在CentOS7中安装更新python-pip时,报出更新的版本是8.1.2,然而最新的版本是22.2.2的错

#安装pip
yum install python-pip
#升级pip
pip install –upgrade pip
1
2
3
4

原因:
yum install python-pip时,CentOS7默认的python版本是2.7。它不支持更新到最新版本。

解决办法:
安装python3的pip

yum install python3-pip
1
升级pip(需要使用pip3指令):

pip3 install –upgrade pip
1
效果:

可以看到pip成功升级到21.3.1。
注意:
1.建议将原来python2的pip卸载

yum remove python-pip
1
2.之后的pip操作都用pip3代替,例如:

pip3 install …
1

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/313412.html

(0)
上一篇 2024年4月28日 10:46
下一篇 2024年5月16日 09:06

相关推荐

发表回复

登录后才能评论