从2014年开始,作者主要写了三个Python系列文章,分别是基础知识、网络爬虫和数据分析。
它们都是基于Windows系统下的Python编程,每个系列都从安装过程、基础知识到实际应用三个方面进行讲解,但在写这些文章的时候,始终有两个缺陷:一是没有介绍Linux系统下的Python编程,并且所有代码使用的都是Python 2.7版本;另一方面是如何结合服务器,真实的项目中,通常会将Python代码托管到服务器中。
同时,随着人工智能和深度学习的风暴来临,Python变得越来越火热,作者也准备从零学习这些知识,写相关文章。本篇文章是作者学习部署阿里云服务器 CentOS环境,然后完成了第一个Python BeautifulSoup爬虫,是非常基础的入门文章,后面将陆续深入,学习如何将Python定时爬虫托管到服务器、爬取的数据存储至数据库中、爬虫数据分析等知识。
文章非常基础,希望这系列文章对您有所帮助,如果有错误或不足之处,还请海涵。
阿里云的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位)
2.点击购买,进入选择配置页面进行购买
4.在菜单页面点击设置密码,登录名root、登录密码需设置
5.点击“去下单”按钮并支付
6.去到阿里云控制台,并点击云服务器ECS
然后在左边栏目点击“云服务器ECS”图标,生成如下图所示界面,可以看到我们的服务器已经运转。
7.在控制台中实现云服务器远程登录
点击“远程登录”后弹出的界面会提示远程连接密码,请记住这个密码,它将一直用于远程登录服务器。
接下来就是输入远程连接密码实现登录。
8.在弹出的黑框中,输入登录名root,密码为第4步骤设置的自定义密码
注意:讲到这里一个简单的阿里云服务器就搭建成了,其他云服务器都是类似的配置方法,比较简单,这里作者使用的是CentOS系统,接下来将带领大家体验Linux的基础命令及写第一个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: 显示文件夹下所有内容详细信息
2.查看文件内容
命令:dir或ls
$ls 列出当前文件夹下所有内容
$ls -o 列出当前文件夹中所有内容,含详细信息,但不列出group
$ls -l 同上,含group信息
$ls -a 列出当前文件夹中所有内容,包含以”.”开头的文件
$ls -t 按更改时间排序
$ls -v 按版本先后排序
如下图所示,可以看到我已经创建的三个Python文件,“ls -o”显示详细信息。3.新建文件夹
命令:mkdir 文件夹
创建文件夹eastmount,执行”mkdir eastmount”后显示新建文件夹。
4.查看路径
命令:cd 进入文件夹
Change Directory ,”cd yxz”表示进入yxz文件夹,”cd ~”表示返回home根目录,”cd ..”表示返回上一层目录(类似DOS)。
更改目录 Change Directory (cd):cd /path/to/directory/,有DOS基础的同学应该知道,路径可以用相对也可以用绝对。
5.创建Python文件
命令:touch first.py
在eastmount目录创建first.py文件,如果touch了已有的文件,则会更新那个文件的日期为当前。
6.查看Python版本
命令:python -V
可以看到是Python3.4.1,需要注意print()为输出,同时调用一些扩展包方法也有别于Python2.7版本。
7.编辑Python程序
命令: vi first.py
注意:
(1) 输入”vi first.py”后,用vi打开文件后,是处于「命令行模式(command mode)」,您要切换到「插入模式(Insert mode)」才能够输入文字。切换方法:在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了。
(2) 编辑好后,需从插入模式切换为命令行模式才能对文件进行保存,切换方法:按「ESC」键。
(3) 保存并退出文件:在命令模式下输入:wq即可!(别忘了wq前面的:)
执行步骤:
输出指令:vi first.py
点击键盘:i键 - 编辑代码(Insert)
输出代码:
#!/usr/bin/python
print("this is my first python code.")
print("hello,Eastmount!!!")
print("Bye, Nana.")
点击键盘:Esc键
输出命令::wq
注意,我们也可以使用“vim first.py”编辑代码,并且它是彩色显示,如下图所示:
8.运行Python程序
命令:python first.py
输出结果如下所示:
this is my first python code.
Hello, Eastmount!!!
Bye, Nana.
注意:使用Linux系统时,如果一个屏幕显示不下内容,想切换上一页下一页,可以使用“Shift+PageUp”快捷键查看上一页内容,“Shift+PageDown”查看下一页内容。
Python可以调用pip工具安装扩展包,这是非常方便的一个手段,这里我们通过该扩展包安装BeautifulSoup和Selenium爬虫扩展包。
安装Selenium扩展包
命令:pip install selenium
安装BeautifulSoup扩展包
命令:pip install bs4
查看已安装扩展包
命令:pip list
创建第一个爬虫代码bsfirst.py
命令:touch bsfirst.py
编辑代码
命令:vim bsfirst.py
输入代码
#!/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())
输出结果
注意,它输出了中文乱码,下一篇文章将讲解怎么解决该问题。
PuTTY是一个Telnet、SSH、rlogin、纯TCP以及串行接口连接软件。PuTTY为一开放源代码软件,主要由Simon Tatham维护,使用MIT licence授权。
随着Linux在服务器端应用的普及,Linux系统管理越来越依赖于远程。在各种远程登录工具中,Putty是出色的工具之一。它是一个免费的、Windows x86平台下的Telnet、SSH和rlogin客户端,但是功能丝毫不逊色于商业的Telnet类工具。
连接远程服务器
运行界面如下图所示:
登录阿里云服务器
在Host Name填写公网IP地址,比如39.xx.xx.166,点击“Open”按钮,如下图所示。
登录后的界面如下图所示,填写登录名“root”以及对应登录密码。
然后就可以操作该远程服务器了,比如运行我们的bsfirst.py爬虫代码。
可以看到,爬取了百度搜索官网的标题“百度一下,你就知道”,更多BeautifulSoup知识推荐下面,这里不再深入。 通过Putty我们可以更好的管理远程服务器以及上传文件到服务器上,总之,希望这篇基础文章对您有所帮助,尤其是刚接触云服务器的新手,如果您是高手,还请多提意见,共同提高。
祝大家新年快乐,又一年过去了,娜我们来年一起进步加油。
(By:Eastmount CSDN 秀璋 2018-02-13 中午1点 http://blog.csdn.net/Eastmount)