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