Python作为当下最热门的程序语言之一,已经吸引越来越多人带着好奇跨入代码的世界。对于很多工作本身并不依赖于代码,却又急需通过这些编程工具跟上智能化时代的步伐的人来说,Python无疑是很好的入门语言,然而,在迅速学会了基础的操作后,如何通过实践进行进一步的提升和应用成了很大的问题。此时,爬虫本身作为数据分析第一道工序——数据获取,就很有效的帮助自学者们进行实践。
本文将从一个非码农出身的自学者角度,一步步记录利用Python爬虫的成长周记。
以上,只是假装一本正经的我努力扯出来的开场白
其实开这篇博文的本质是想在临危受命完成爬虫任务后,梳理一下过程中所学的爬虫知识,形成一个完整的框架。毕竟摸着石头过河的后遗症就是……还有很多石头没摸到,一不小心就容易摔个鼻青脸肿,而为了保护好自己的脸(bushi,对爬虫进行一段系统性的总结是十分有必要的。┑( ̄Д  ̄)┍
首先,我们需要明确爬虫过程中需要掌握的几大法宝——
一条巨蟒Python、数据存储(主要以数据库为例)、爬虫基础相关的网页知识以及各种神奇的库。
除此之外,在以往的爬虫过程中,你或许还离不开浏览器的开发者工具,这里,我们将以Chrome浏览器的developer tool这一神器为例✧(≖ ◡ ≖✿)
请记住它【打开Chrome浏览器→打开任意网页→右键→检查】,它将会是你未来爬虫过程中不可或缺的拍档。
什么是Python?
接下来,我们来简单聊一聊我们爬虫的核心工具——Python
它的本体,顾名思义,是一只巨蟒 【大雾】
传说,它可以吞鳄鱼、吞老虎,经过修炼以后可能还可以以毁灭地球【泥垢了】,所以,请好好珍惜这百年一遇的蛇精。
言归正传,Python是由创始人吉多·范罗苏姆(Guido van Rossum)在1989年的圣诞节期间,为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序。
在正式定义Python前,我们需要先知道什么是解释型语言,这里,我们还需要提到另一种类型的语言——编译型语言。
什么是解释和编译?
编译器:把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度快;
解释器:只在执行程序时,一条一条将代码解释成机器语言给计算机来执行,所以运行速度是不如编译后的程序运行的快的。
因此,解释型语言的优缺点也不言而喻——
优点:有良好的平台兼容性,在任何环境中都可以运行,前提是安装了解释器(虚拟机);灵活,修改代码的时候直接修改就可以,可以快速部署,不用停机维护,大大提升了开发人员的效率。
缺点:性能上不如编译型语言
Python的优劣
由此,Python能作为大多数编程小白的入门语言的原因也随之揭开
- Python程序看上去总是简单易懂,初学者学Python,不但入门容易,而且将来深入下去,可以编写那些非常复杂的程序。
- 开发效率非常高,Python有非常强大的第三方库,基本上你想通过计算机实现任何功能,Python官方库里都有相应的模块进行支持。
- 高级语言————当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节
- 可移植性————由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。
- 可扩展性————如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。
- 可嵌入性————你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。
显然,前两点就是我们选择使用Python作为初学者的爬虫工具的主要原因。
Python3.x的安装及环境配置
很多人开始学习Python的时候,一开始就被Python的下载给难住了。
首先是版本选择的问题,Python2还是Python3就让很多初学者犯难。当然,现在这个情况比前几年好了很多,因为就在去年,很多第三方库都宣布于19年底正式停止对Python2.7版本的维护,也由此正式宣告着Python3.x时代的来临。当然,如果你之前一直以Python2为基础学习,那么转成Python3对你来说一定轻而易举(๑•̀ㅂ•́)و✧。
其次 ,大多数编程小白,尤其是Mac用户会担心自己的电脑是否会无法使用Python。其实,这个问题在上面已经得到了解答,Python的使用是不受平台限制的,因此无论是Windows用户还是Mac用户,亦或是极少数的Linux用户都可以放心的使用Python。此外,依据本人的经验,在一些环境配置的过程中,Mac会比Windows顺畅的很多,因此,如果你有一台苹果电脑,那么恭喜你,你的学习或许会比大多数Windows用户少掉几天头发
下面,我将会主要介绍Windows和Mac平台下的安装。
Windows下的安装
在Windows下安装Python3的方式有两种。
- 通过anaconda安装
- 直接下载Python安装包安装
前者提供了Python的科学计算环境,里面自带了Python及常用的第三方库,也是我们主要推荐给编程小白的安装方式,为之后的环境配置带来极大的便利;后者则是标准的安装方式。
1. Anaconda安装
直接通过Anaconda的官方下载链接,选择Python3版本的安装包下载即可(以最新版本为准),安装帮助可看官方的帮助链接。
注:如果下载速度过慢,可以选择使用清华大学镜像,使用说明可以看Anaconda镜像使用帮助
下载完之后,直接双击安装包即可,安装完成之后,Python3的环境配置就好了。
2. 添加别名
如果你之前安装过Python2的话,按照上述方式安装完Python3后可能会导致版本冲突,比如在命令行下输入python就不知道调用Python2还是Python3了。为了解决这个问题,建议将安装目录中的python.exe复制一份,命名为python3.exe,这样便可以调用python3命令了。
实际上,它和调用python命令是完全一致的,这样只是为了更好地区分版本。如果你之前没有安装过Python2的话,也建议添加此别名。
对于pip来说,安装包中自带pip3.exe可执行文件,我们也可以直接使用pip3命令,无需额外配置。
3. 测试验证
安装完成后,可以通过命令行测试一下安装是否成功。在“开始”菜单中搜索cmd,找到命令提示符,此时就进入命令行模式了【通过Anaconda安装的用户也可直接在菜单栏找到prompt】。输入python测试一下是否能够成功调用Python。如果添加了别名的话,可以输入python3进行测试。
对pip的测试可以在命令行输入pip3 -V进行测试【由于博主电脑系统是Mac,这里就不给出截图了,具体可以参考下面Mac的测试界面的内容】。
Mac下的安装
在Mac下同样有多种安装方式:
- Homebrew
- 安装包安装
- Anaconda安装
这里同样推荐Anaconda的安装方式。
1. Anaconda安装
Anaconda同样支持Mac,可从其官方下载链接下载,选择Python3版本的安装包下载即可,具体过程及注意事项可参考Windows部分的介绍。
2. 测试验证
打开终端,在命令行界面中刚测试Python3和pip3是否成功安装
若出现上面的提示,则证明Python和pip安装成功。
其它安装方法
除了上述提到的正规的安装方法以外,随着近几年移动端的兴起,还存在着一些更为傻瓜的操作方式来玩耍Python,比如神奇的Microsoft Azure Notebooks,能帮助你直接在网页上运行Python。对于喜欢随身携带的IPad办公的童鞋可以直接下载App Juno,里面的操作界面类似于Jupyter Notebook,可以直接调用里面的远程配置环境进行基础的coding和数据分析相关的操作。
这类神奇最大的优势就是,你不需要烦恼于劳什子的环境配置,唯一需要做的就是登陆,然后上手。
但是!!!!如果你的目标是正儿八经的爬虫,这类方法就不推荐了,老老实实的抱着可爱的PC,安安静静地在合适的Python IDE下写脚本吧哇卡卡卡卡卡
Python IDE的选择
集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。
简单的说,相比于在命令行裸敲代码,一个好用的IDE可以帮你想你所想的,提醒你想不到的,规范你没想到的。由此,选择合适的IDE,可以帮你大大提高编程的规范性和效率。
本文中主要推荐的IDE为:
- Pycharm
- Visual Studio Code
- Spyder
Pycharm
Pycharm是博主主要推荐的Python IDE,其界面如下
其右侧的Documentation可以直接提供一些三方库的官方文档,针对一些API进行说明和解释;DataBase可以直接链接数据库,观察数据库数据;SciViews可以直接观察右下角已有的Special Variables的内容。
而PyCharm作为最出色的python IDE之一,其为开发者提供的优秀的环境十分值得推荐。
Pycharm同样提供Windows和Mac版本,在利用anaconda安装了python后,我们可以结合两者,在Pycharm中配置anaconda环境,将两者的优点结合发挥至最大。
Pycharm中配置anaconda环境
1、从官网安装PyCharm(具体安装及激活方法网上资源很多,在此就不赘述)
2、安装完成后,打开PyCharm,创建项目并配置Anaconda。
- 首先点击create new project,location为文件存储位置
- project interpreter为解释器,也就是Anaconda中的python.exe【Windows系统下】/python3.x【Mac系统下如图所示】,可以选择勾选Make available to all projects,这样之后创建的项目均会自动选择该解释器。
- 最后点击create,创建完之后进入pycharm界面。
- 在file选项中选择default setting【Windows】,或在PyCharm中选择Preferences【Mac】,选择project interpreter并且按步骤选中Anaconda中的python
- 创建新的python脚本
Visual Studio Code
VSC作为微软近几年推出的一款较为轻量级的代码编辑器,除了python,还可以在上面编辑R、VBA、Java等脚本调试,可以满足基础的IDE功能【膜拜微软霸霸】,有兴趣的同学可以尝试研究一下它的环境配置,在此就不做过多赘述。
VSC界面⤵️
Spyer
如果你觉得自己配置环境很麻烦,那么可以直接用Anaconda中的Spyder,不过它的debug功能和很多细节都离一个优秀的IDE差别较远,功能上的设计更偏向于数据分析上的应用,数据上的交互做的还不错。
ps:我们也可以发现,Anaconda中也包含VSC的下载~~
相信很多初学Python的同学,尤其是往数据分析方向学习的同学,都会选择jupyter notebook作为交互工具,但在爬虫学习过程中是很不推荐的,当然,往往越强大的IDE对电脑配置的要求也越高,所以各位同学也可以根据自己的实际情况和需求选择最合适自己的一款工具。
小结
本章简单介绍了爬虫的核心工具及安装,在有了爬虫最重要的“武器”后,我们还需要对“爬虫具体是做什么”、“过程是如何”进行了解,在有了这些宏观的了解后,才能对之后爬虫的每一步出现的问题——
- 为什么这个网址不登录啥也爬不到??
- 什么??怎么是乱码???
- 为什么获取的html内容和源代码现实的不一样!!!
- 刚刚还好好的,怎么一下子什么都爬不了了😱😱😱
当对这些问题有针对性的理解时,就能给出相应的解决方案。
由此,下章我们将讲解Python爬虫的基础知识。