[CentOS Python系列] 一.阿里云服务器安装部署及第一个Python爬虫代码实现

简介: 本文将详细讲解阿里云服务器如何安装及部署本地Python环境,并搭建代码。

随着人工智能和深度学习的风暴来临,Python变得越来越火热,作者也准备从零学习这些知识,写相关文章。本篇文章是作者学习部署阿里云服务器 CentOS环境,然后完成了第一个Python BeautifulSoup爬虫,是非常基础的入门文章,后面将陆续深入,学习如何将Python定时爬虫托管到服务器、爬取的数据存储至数据库中、爬虫数据分析等知识。文章非常基础,希望这系列文章对您有所帮助,如果有错误或不足之处,还请海涵。

一. 阿里云服务器CentOS搭建

阿里云的CentOS云系统是一个集成了Python环境基于yum安装的镜像,包含Nginx、MySQL、Pyenv、IPython等。

CentOS(Community Enterprise Operating System,中文意思是:社区企业操作系统)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。两者的不同,在于CentOS并不包含封闭源代码软件。

阿里云提供了很多的产品供大家购买使用,非常方便,这里作者随便购买了一个,不一定适用,自己也是摸着石头过河,一点点尝试吧,为了学习这钱其实还是值的。

1.购买centOS系统
阿里云提供的环境地址:Python运行环境(CentOS6.8 64位)

image.png

该产品的说明如下所示:

image.png

2.点击购买,进入选择配置页面进行购买

image.png

3.购买成功之后,生成如下的订单页面
这里作者选择了云服务器ECS、镜像CentOs6.8,支持Python运行环境、djangoV1.1、nginxV1.1、mysqlV5.7。

image.png

4.在菜单页面点击设置密码,登录名root、登录密码需设置

image.png

5.点击“去下单”按钮并支付

image.png

6.去到阿里云控制台,并点击云服务器ECS

image.png

然后在左边栏目点击“云服务器ECS”图标,生成如下图所示界面,可以看到我们的服务器已经运转。

image.png

7.在控制台中实现云服务器远程登录

image.png

点击“远程登录”后弹出的界面会提示远程连接密码,请记住这个密码,它将一直用于远程登录服务器。

image.png

接下来就是输入远程连接密码实现登录。

image.png

8.在弹出的黑框中,输入登录名root,密码为第4步骤设置的自定义密码

image.png

注意:讲到这里一个简单的阿里云服务器就搭建成了,其他云服务器都是类似的配置方法,比较简单,这里作者使用的是CentOS系统,接下来将带领大家体验Linux的基础命令及写第一个Python代码。


二. CentOS基础命令及Python入门

作者首先给出Linux系统下常见的命令,详见:Putty基础教程之(一).入门命令学习及编写HTML

cd 文件夹名:查看路径
dir:查看当前路径下的所有文件
ls:列出当前文件夹下所有内容
pwd:显示当前路径
clear: 清空终端屏幕命令,Ctrl+L清除屏幕
 
mkdir [dir]: 新建文件夹
mv *** ****:移动或者重命名
rm *** ***:删除一次可以删除多个
cp:拷贝
 
touch 文件名: 新建文件
vi 文件名: 编辑文件命令
cat 文件名: 查看文件内容
 
wget (路径):下载
unzip ***.zip:压缩文件到当前目录
ls -ltr  |  cat  -vte: 显示文件夹下所有内容详细信息

1.清屏 命令:clear

image.png

2.查看文件内容

  • 命令:dir或ls
$ls 列出当前文件夹下所有内容
$ls -o 列出当前文件夹中所有内容,含详细信息,但不列出group
$ls -l 同上,含group信息
$ls -a 列出当前文件夹中所有内容,包含以”.”开头的文件
$ls -t 按更改时间排序
$ls -v 按版本先后排序

如下图所示,可以看到我已经创建的三个Python文件,“ls -o”显示详细信息。

image.png

3.新建文件夹

  • 命令:mkdir 文件夹
  • 创建文件夹eastmount,执行”mkdir eastmount”后显示新建文件夹。

image.png

4.查看路径

  • 命令:cd 进入文件夹
  • Change Directory ,”cd yxz”表示进入yxz文件夹,”cd ~”表示返回home根目录,”cd ..”表示返回上一层目录(类似DOS)。
  • 更改目录 Change Directory (cd):cd /path/to/directory/,有DOS基础的同学应该知道,路径可以用相对也可以用绝对。

image.png

5.创建Python文件

  • 命令:touch first.py
  • 在eastmount目录创建first.py文件,如果touch了已有的文件,则会更新那个文件的日期为当前。

image.png

6.查看Python版本

  • 命令:python -V
  • 可以看到是Python3.4.1,需要注意print()为输出,同时调用一些扩展包方法也有别于Python2.7版本。

image.png

7.编辑Python程序

  • 命令: vi first.py

注意:
(1) 输入”vi first.py”后,用vi打开文件后,是处于「命令行模式(command mode)」,您要切换到「插入模式(Insert mode)」才能够输入文字。切换方法:在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了。
(2) 编辑好后,需从插入模式切换为命令行模式才能对文件进行保存,切换方法:按「ESC」键。
(3) 保存并退出文件:在命令模式下输入:wq即可!(别忘了wq前面的:)

image.png

执行步骤:

输出指令:vi first.py
点击键盘:i键 - 编辑代码(Insert)
 
输出代码:
#!/usr/bin/python
print("this is my first python code.")
print("hello,Eastmount!!!")
print("Bye, Nana.")
 
点击键盘:Esc键
输出命令::wq

image.png

注意,我们也可以使用“vim first.py”编辑代码,并且它是彩色显示,如下图所示:

image.png

8.运行Python程序

  • 命令:python first.py

输出结果如下所示:

this is my first python code.
Hello, Eastmount!!!
Bye, Nana.

image.png

注意:使用Linux系统时,如果一个屏幕显示不下内容,想切换上一页下一页,可以使用“Shift+PageUp”快捷键查看上一页内容,“Shift+PageDown”查看下一页内容。


三. Python实现BeautifulSoup爬虫代码

Python可以调用pip工具安装扩展包,这是非常方便的一个手段,这里我们通过该扩展包安装BeautifulSoup和Selenium爬虫扩展包。

安装Selenium扩展包

  • 命令:pip install selenium

image.png

安装BeautifulSoup扩展包

  • 命令:pip install bs4

image.png

查看已安装扩展包

  • 命令:pip list

image.png

创建第一个爬虫代码bsfirst.py

  • 命令:touch bsfirst.py

编辑代码

  • 命令:vim bsfirst.py

image.png

输入代码

#!/usr/bin/python
import sys
import urllib
import urllib.request
from bs4 import BeautifulSoup
 
print(sys.getdefaultencoding())
url = "http://www.baidu.com"
print(url)
content = urllib.request.urlopen(url).read()
#print(content)
 
soup = BeautifulSoup(content,"html.parser")
print(soup.title)
print(soup.title.get_text())

image.png

输出结果

image.png

注意,它输出了中文乱码,下一篇文章将讲解怎么解决该问题。


四. Putty基础用法

PuTTY是一个Telnet、SSH、rlogin、纯TCP以及串行接口连接软件。PuTTY为一开放源代码软件,主要由Simon Tatham维护,使用MIT licence授权。

随着Linux在服务器端应用的普及,Linux系统管理越来越依赖于远程。在各种远程登录工具中,Putty是出色的工具之一。它是一个免费的、Windows x86平台下的Telnet、SSH和rlogin客户端,但是功能丝毫不逊色于商业的Telnet类工具。

连接远程服务器
运行界面如下图所示:

image.png

登录阿里云服务器
在Host Name填写公网IP地址,比如39.xx.xx.166,点击“Open”按钮,如下图所示。

image.png

登录后的界面如下图所示,填写登录名“root”以及对应登录密码。

image.png

然后就可以操作该远程服务器了,比如运行我们的bsfirst.py爬虫代码。

image.png

可以看到,爬取了百度搜索官网的标题“百度一下,你就知道”,更多BeautifulSoup知识推荐下面,这里不再深入。 通过Putty我们可以更好的管理远程服务器以及上传文件到服务器上,总之,希望这篇基础文章对您有所帮助,尤其是刚接触云服务器的新手,如果您是高手,还请多提意见,共同提高。

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

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

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3天前
|
项目管理 Python
如何在Mac上安装多个Python环境
在你的Mac上使用多个Python环境可以对项目管理很有帮助,特别是在同时处理不同Python版本或不同的包需求时。在这篇文章中,我们将向你展示如何在Mac上轻松地安装和管理多个Python环境。
17 5
 如何在Mac上安装多个Python环境
|
4天前
|
设计模式 开发框架 缓存
探索Python中的装饰器:简化代码,增强功能
【9月更文挑战第16天】在Python的世界里,装饰器宛如一位巧手魔术师,轻轻一挥魔杖,便能让我们的函数和类焕发新生。本文将带你领略装饰器的魔力,从基础概念到实战应用,一步步解锁装饰器的强大潜能。让我们一起踏上这段奇妙的旅程,探索如何用装饰器简化代码,增强功能。
|
4天前
|
测试技术 Python
Python中的装饰器:简化代码的魔法
【9月更文挑战第16天】在Python编程的世界里,装饰器就像是一把瑞士军刀,它们为函数和类赋予了额外的超能力。本文将带你探索装饰器的秘密,了解如何利用这一工具来简化代码、增强可读性并提升效率。从基础概念到实际案例,我们将一步步揭示装饰器的神秘面纱,让你的代码更加优雅和强大。
|
3天前
|
数据采集 存储 JSON
从零到一构建网络爬虫帝国:HTTP协议+Python requests库深度解析
在网络数据的海洋中,网络爬虫遵循HTTP协议,穿梭于互联网各处,收集宝贵信息。本文将从零开始,使用Python的requests库,深入解析HTTP协议,助你构建自己的网络爬虫帝国。首先介绍HTTP协议基础,包括请求与响应结构;然后详细介绍requests库的安装与使用,演示如何发送GET和POST请求并处理响应;最后概述爬虫构建流程及挑战,帮助你逐步掌握核心技术,畅游数据海洋。
18 3
|
3天前
|
数据采集 API 开发者
🚀告别网络爬虫小白!urllib与requests联手,Python网络请求实战全攻略
在网络的广阔世界里,Python凭借其简洁的语法和强大的库支持,成为开发网络爬虫的首选语言。本文将通过实战案例,带你探索urllib和requests两大神器的魅力。urllib作为Python内置库,虽API稍显繁琐,但有助于理解HTTP请求本质;requests则简化了请求流程,使开发者更专注于业务逻辑。从基本的网页内容抓取到处理Cookies与Session,我们将逐一剖析,助你从爬虫新手成长为高手。
19 1
|
4天前
|
设计模式 缓存 开发者
探索Python中的装饰器:提升代码复用性的利器
本文深入探讨了Python中强大的装饰器功能,揭示了其如何通过元编程和闭包等技术手段,优雅地实现代码的复用与扩展。从基本概念到高级应用,我们将一步步揭开装饰器背后的奥秘,并通过实例展示其在实际项目开发中的巨大价值。无论是想要简化函数调用流程、增强函数功能,还是实现AOP(面向切面编程),掌握装饰器都是每位Python开发者必备的技能。
|
5天前
|
缓存 开发者 Python
探索Python中的装饰器:简化代码,增强功能
【9月更文挑战第15天】本文将深入探讨Python中一个强大但常被误解的特性——装饰器。我们将从基础概念出发,逐步揭示装饰器如何简化代码结构,增加函数功能而无需修改其核心逻辑。通过具体示例,你将学会如何创建自定义装饰器,以及如何利用它们来管理权限、记录日志等。无论你是初学者还是有经验的开发者,这篇文章都将为你打开一扇提高代码效率和可维护性的新窗口。
|
3天前
|
缓存 监控 测试技术
探索Python中的装饰器:提升代码的灵活性和可维护性
本文深入探讨Python装饰器的概念、用法及优势。通过实例讲解如何利用装饰器增强函数功能、日志记录及性能测试,旨在帮助读者掌握这一强大的工具,提升编程效率与代码质量。
|
4天前
|
缓存 开发者 Python
探索Python中的装饰器:提升代码复用性与可读性
本文旨在深入探讨Python装饰器的概念、实现及其应用。通过实例分析,本文展示了如何利用装饰器提高代码的模块化和重用性,从而优化开发流程。我们将从装饰器的基本定义入手,逐步解析其工作机制,并通过案例展示如何在实际项目中有效利用装饰器。
10 0
|
数据采集 SQL 弹性计算
使用云服务器ECS部署了自己的第一个爬虫
云服务器部署爬虫爬取网站最新通告并推送
使用云服务器ECS部署了自己的第一个爬虫