[CentOS Python系列] 二.阿里云pscp上传下载服务器文件及phantomjs安装详解

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
云服务器 ECS,u1 4核16GB 1个月
简介: 本篇文章是作者学习部署阿里云服务器 CentOS环境,讲解pscp工具如何将Windows系统文件上传到云服务器中,同时将云服务器文件下载到本地;同时教大家如何安装phantomJS,它是一个无界面的浏览器,被广泛应用于Selenium自动化测试。基础性文章,希望您喜欢。

随着人工智能和深度学习的风暴来临,Python变得越来越火热,作者也准备从零学习这些知识,写相关文章。本篇文章是作者学习部署阿里云服务器 CentOS环境,讲解pscp工具如何将Windows系统文件上传到云服务器中,同时将云服务器文件下载到本地;同时教大家如何安装phantomJS,它是一个无界面的浏览器,被广泛应用于Selenium自动化测试和爬虫中。文章非常基础,希望这系列文章对您有所帮助,如果有错误或不足之处,还请海涵。

一. pscp上传下载文件

首先在Windows系统中下载pscp工具(pscp.exe),将其放置于putty软件目录下,然后输入Ctrl+R快捷键,打开CMD命令行模式,输入如下指令:

cd C:\Software\Programe Software\Putty
pscp ?

运行结果如下图所示,可以查看pscp命令的用法。

image.png

1.上传文件至云服务器

  • 命令:pscp 本地文件 用户名@ip地址:远端路径

比如将本地中文字体文件simsun.ttf上传到服务器中,调用指令为:

pscp C:\20180216\simsun.ttf root@39.107.105.166:/root/

image.png

将C盘20180216文件夹下的字体文件上传到服务器用户名为root的根目录下,注意需要输入服务器密码。

image.png

然后登陆云服务器,可以看到simsun.ttf文件已经上传。

image.png

2.下载文件至Windows系统

  • 命令:pscp 用户名@ip地址:远端路径 Windows文件路径

比如将阿里云服务器中的HelloWorld.py文件和test.py两个文件下载至本地C盘20180216文件夹,代码如下:

pscp root@39.107.105.166:/root/test.py C:\20180216
pscp root@39.107.105.166:/root/HelloWorld.py C:\20180216

image.png

Linux中cat命令用来查看源代码,rm命令用来删除文件(remove),如下图所示:

image.png

在CMD中执行该命令,如下所示:

image.png

可以看到Windows系统C:\20180216文件夹下已经成功下载了该文件,同时注意符号 \ 和 / 别写错。

image.png

3.上传文件夹至云服务器

  • 命令:pscp -r Windows文件夹 用户名@ip地址:远端路径

其中“-r”表示向下递归目录。现在需要将Windows系统的PhantomJS文件夹上传到云服务器root目录下,文件夹如下图:

image.png

CMD命令行中输入命令为:

pscp -r C:\phantomjs root@39.107.105.166:/root/

image.png

运行结果如下图所示,可以在服务器root目录下看到phantomjs文件夹,并包含各文件。

image.png

4.下载文件夹至Windows系统

  • 命令:pscp -r Windows文件夹 用户名@ip地址:远端路径

将云服务器中“root/eastmount”文件夹及文件下载至本地20180216文件夹,运行如下所示:

C:\Software\Program Software\Putty>pscp -r root@39.107.105.166:/root/eastmount C:\20180216\
root@39.107.105.166's password:
first.py                  | 0 kB |   0.1 kB/s | ETA: 00:00:00 | 100%
bsfirst.py                | 0 kB |   0.3 kB/s | ETA: 00:00:00 | 100%

本地显示结果如下图所示:

image.png

讲到这里pscp基本用法已经讲述结束,它主要用来Windows与Linux系统交互,但更多的可以在线下载安装。作者这里想上传Phantomjs来执行代码,但总是报错“Messag: phantomjs.exe executable may have wrong permissions.”。

下面详细讲解如何在Linux系统中下载Phantomjs并安装。


二. Phantomjs安装详解

PhantomJS是一个服务器端的 JavaScript API 的Webkit(开源的浏览器引擎)。其支持各种Web标准: DOM 处理, CSS 选择器, JSON, Canvas 和 SVG。PhantomJS可以用于页面自动化,网络监测,网页截屏,以及无界面测试等。

PhantomJS is a headless WebKit scriptable with a JavaScript API. It has fast and native support for various web standards: DOM handling, CSS selector, JSON, Canvas, and SVG. Full web stack No browser required.

首先补充下yum和apt-get的区别,一般来说Linux系统基本分为两大类:

  • RedHat系列:RedHat、CentOS、Fedora等,常见安装包格式命令为“rpm -参数”,包管理工具是yum,如“yum install xxx”,支持tar包。
  • Debian系列:Debian、Ubuntu等,常见安装包格式命令为“dpkg -参数”,包管理工具是apt-get,支持tar包。

当我们执行如下代码时,提示错误“-bash: phantomjs: command not found”,表示还未安装该包。

phantomjs -v
yum install phantomjs

同时,执行“yum install phantomjs”代码,没有可得到的扩展包,下面我们开始正式讲解吧。

image.png

作者准备将Phantomjs安装包下载至/root/eastmount文件夹下。

image.png

第一步 下载安装包

wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-1.9.7-linux-x86_64.tar.bz2

image.png

第二步 解压文件

tar -xjvf phantomjs-1.9.7-linux-x86_64.tar.bz2

如下图所示:

image.png

解压后调用“ls”命令查看eastmount文件夹,包含了已经解压的phantomjs-1.9.7-linux-x86_64文件夹。

image.png

第三步 重命名文件夹并移动至/usr/local/phantomjs目录

mv phantomjs-1.9.7-linux-x86_64 /usr/local/phantomjs

调用“cd /usr/local/”命令去到指定目录下,在查看该目录所包含内容,可以看到已经解压的phantomjs文件夹。

image.png

第四步 建立连接,将可执行文件放入系统路径

去到“/usr/local/bin”文件夹下,可以看到此时还没有Phantomjs连接,接下来需要建立连接。

ln -s /usr/local/phantomjs/bin/phantomjs /usr/bin/
ln -s /usr/local/phantomjs/bin/phantomjs /usr/local/bin/

建立连接过程如下所示:

image.png

建立后的连接,可以看到phantomjs已经放入了系统文件夹,我的理解该步骤相当于Windows系统下的配置环境变量PATH。

image.png

image.png

第五步 安装依赖包

yum install fontconfig
yum install freetype2

image.png

第六步 检验Phantomjs是否安装成功

phantomjs -v

可以看到我们安装的版本为phantomjs 1.9.7。

image.png


三. Phantomjs基础代码

下面简单讲解Phantomjs基础代码。

1.Hello World

首先我们在root文件夹下创建一个test.js文件,命令如下:

ls
touch test.js --创建文件
vim test.js   --编辑文件

image.png

test.js代码如下:

console.log("Hello CSDN!!!");
phantomjs.exit();

image.png

输入“phantomjs test.js”执行代码输出“Hello CSDN!!!”。

image.png

2.获取网页标题

创建baidu.js文件,并编辑代码。

image.png

baidu.js代码:

var page = require('webpage').create();
page.open('http://www.baidu.com', function (status) {
     var title = page.evaluate(function () {
         return document.title;
     });
     console.log('Page title is ' + title);
     phantom.exit();
});

image.png

输出结果如下图所示“百度一下,你就知道”。

image.png

3.简单下载图片

同样的方法创建一个baidupic.js文件,代码如下:

var page = require('webpage').create();  
page.open('http://www.baidu.com', function () {  
    page.render('example.png');  
    phantom.exit();  
});

image.png

输出结果如下,可以看到“example.png”被下载至root目录下。

image.png

讲到这篇文章就介绍结束了,本文的目的是为了后面的Selenium自动化测试及爬虫操作,希望文章对您有所帮助,同时会继续深入学习,包括爬虫过程、定时爬虫、数据库操作、服务器搭建等内容。

很高兴重回阿里云,开心能与大家在这里认识,希望能分享更高质量的文章帮助大家,且行且珍惜!

(By:Eastmount 2021-11-08 夜于武汉)

相关实践学习
ECS云服务器新手上路
本实验会自动创建一台ECS实例。首先,远程登陆ECS实例,并部署应用。然后,登陆管理控制台,并对这台ECS实例进行管理操作。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2天前
|
人工智能 Cloud Native 数据库
“云+AI”浪潮下,阿里云&龙蜥携手打造智算时代最佳服务器操作系统
AI 时代的来临,也推动着云计算发展迎来第三次浪潮。
|
2天前
|
小程序 数据安全/隐私保护
阿里云服务器新手入门:注册账号、实名认证申请免费云服务器全流程
阿里云新手指南 1. 注册阿里云账号,支持手机号或支付宝等快捷注册。 2. 完成实名认证,个人/企业选择相应类型。 3. 访问免费服务器申请页面 4. 创建后,设置密码,通过安全组开通端口。 5. 使用教程包括远程连接、部署应用等,详细步骤见阿里云帮助中心。
14 0
|
5天前
|
弹性计算 安全 前端开发
阿里云服务器ECS通用型、计算型和内存型详细介绍和性能参数表
阿里云ECS实例有计算型(c)、通用型(g)和内存型(r)三种,主要区别在于CPU和内存比例。计算型CPU内存比1:2,如2核4G;通用型为1:4,如2核8G;内存型为1:8,如2核16G。随着技术迭代,有第五代至第八代产品,如c7、g5、r8a等。每代实例在CPU型号和主频上相同,但性能有所提升。实例性能参数包括网络带宽、收发包能力、连接数等。具体应用场景如计算型适合高网络包收发、通用型适合企业级应用,内存型适合内存数据库等。详细信息可参阅阿里云ECS页面。
|
5天前
|
机器学习/深度学习 人工智能 弹性计算
阿里云GPU服务器租用费用_GPU服务器详解_A10、V100、T4、P4、P100
阿里云GPU云服务器提供NVIDIA A10、V100、T4、P4、P100等多种GPU卡,适合深度学习、科学计算等场景。实例性能强劲,单实例可达5PFLOPS混合精度计算,VPC网络支持2400万PPS和160Gbps内网带宽。GPU实例包括A10卡GN7i(3213.99元/月起)、V100-16G卡GN6v(3830.00元/月起)等,价格因配置而异。阿里云还提供GPU加速软件如AIACC-Training和AIACC-Inference,以及弹性计算实例EAIS。客户案例包括深势科技、流利说和小牛翻译等。
|
11小时前
|
存储 数据可视化 API
Python 金融编程第二版(GPT 重译)(三)(5)
Python 金融编程第二版(GPT 重译)(三)
7 0
|
11小时前
|
数据可视化 Python
Python 金融编程第二版(GPT 重译)(三)(4)
Python 金融编程第二版(GPT 重译)(三)
11 2
|
11小时前
|
数据挖掘 索引 Python
Python 金融编程第二版(GPT 重译)(二)(5)
Python 金融编程第二版(GPT 重译)(二)
6 0
|
11小时前
|
索引 Python
Python 金融编程第二版(GPT 重译)(二)(4)
Python 金融编程第二版(GPT 重译)(二)
7 0
|
11小时前
|
存储 SQL 数据可视化
Python 金融编程第二版(GPT 重译)(二)(3)
Python 金融编程第二版(GPT 重译)(二)
8 0
|
2天前
|
大数据 程序员 Python
Python数据类型大变身!掌握列表推导式与生成器,编程效率翻倍不是梦
【7月更文挑战第2天】在Python中,列表推导式和生成器是提升效率的利器。列表推导式以简洁方式处理循环和条件,如将偶数平方化简为一行代码,提高代码可读性。生成器则按需生成数据,减少内存占用,适合处理大数据。通过`yield`函数实现惰性求值,有效避免内存溢出。掌握这两者,能优化Python编程体验。

热门文章

最新文章