您的位置:首页 > 编程语言 > Python开发

python爬虫入门教程(一):开始爬虫前的准备工作

2017-09-07 18:08 756 查看

前言

  学习python爬虫也有一段时间了,各种爬虫技术多多少少也接触过一些。因为有学弟学妹说想学爬虫,我萌生了写个简单的python爬虫教程的想法。

  一来,给学弟学妹们提供方便,提供一个入门的渠道;二来,总结这些天自身所学,希望可以借此提高自己,加深认识;三来,如果偶尔有大佬路过,求大佬指出文中错误的地方,感激不尽,毕竟我也只是个菜,还菜的那么执着= =

1.什么是网络爬虫

  百度百科给的介绍如下:

  

  网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。

  简单来说,网络爬虫就是一段程序,它模拟人类访问互联网的形式,不停地从网络上抓取我们需要的数据。我们可以定制各种各样的爬虫,来满足不同的需求,如果法律允许,你可以采集在网页上看到的、任何你想要获得的数据。

  

  爬虫是一种从网络上高速提取数据的方式(当然它也可以用作它途,如果需要的话。因为从本质上来说,它就是利用python与网站进行交互、并对网站返回的结果进行分析和处理的过程)。你可以把爬虫想想成一个机器人(其实它就是个机器人,不过是软件形式上的),坐在一台电脑旁边,不停地点开一个个网页,从里面复制指定文本或图片进行保存(假设需求就是保存指定文本或图片)。神奇的是,它的手速非常非常快,一阵眼花缭乱中,本地磁盘中就已经存了一大堆数据= =

  

2.网络爬虫能做什么

  上面说了一大堆,可能也没说清楚爬虫究竟是什么。没关系,我们举几个例子来看。

 

  比如,学校经常在官网上发布一些比较重要的通知,我不想每天都花费精力去看官网,却又想当有新通知的时候,就能知道,并看到它。

  这种时候,就需要爬虫来帮忙咯。写一个程序,让它每半个小时或一个小时就去访问一次官网,检查有没有新的通知,如果没有,就什么都不做,等待下次检查,如果有,就将新通知从网页中提取出来,保存,并发邮件告诉我们通知的内容,然后继续等待即可。

  假设,最近有点闲了,想看看电影,但又不想看烂片。于是,默默打开了豆瓣,上面有电影评分嘛,还有影评。我想要获取所以评分在8分以上的电影名称、简介以及该电影的部分热评,从中选出想看的出来。

  这个时候,一个小小的爬虫就能轻轻松松地从一堆电影中找出符合要求的保存下来,不用费神地一个个去瞅了。如果你还会自然语言处理和机器学习,那就更棒了,或许你可以直接对这些数据进行分析,让程序匹配出你感兴趣的电影来。(当然了,举例子嘛,现实生活中,显然投入和产出不成正比= =看个电影哪那么麻烦orz)

  再比如,采集京东、淘宝的商品评论信息啦,采集招聘网站的企业职位信息啦,采集微博信息啦,或者只是简单地爬一些美女图片啦……各种情况,采什么,看需求吧。

3.开发爬虫的准备工作

3.1 编程语言

  做开发嘛,首先,我们要有一门开发语言,这里我选择python。

  

  python是一门非常容易上手的解释型语言,还有大量的第三方类库,使用起来非常方便。编程语言用起来再也不用脑阔疼了,人生苦短,快用python~

  

  写爬虫之前,我们需要了解python的基础语法。更深入的用法可以不用太着急去学,在使用的过程中碰到各种问题,再去学习并解决就可以了。关于python的用法,我就不写了,网上有很多教程。这里推荐一下廖雪峰老师的python教程,分python2.7和python3.5两个版本,我开发使用的是2.7。

  教程链接:Python 2.7教程 Python 3.5教程

3.2 开发平台和环境

  首先,不黑什么平台,但还是要说一句,就开发而言,linux比windows用起来舒服得多。Mac没用过,不清楚,就不评论了。

  

  开发平台,推荐linux。我使用的是ubuntu,感觉良好。不要有太大的心里压力,因为现在ubuntu的图形界面做的已经很友好了,linux小白使用起来也没什么问题,真碰到问题再去百度或者谷歌就行了。

  

  不推荐windows的原因之一是,在windows上面,很多类库安装起来会非常麻烦= =而且容易碰到各种问题,相比较而言,ubuntu就省心了很多= =

  

  如果一定要用windows,并且有一台远程的linux主机的话,也可以考虑使用远程的python环境来开发。这一点,如果有时间,我写个教程吧,没时间就算了= =大家可以搜索一下关键词
pycharm 远程调试


  

  IDE的话,推荐使用Pycharm。 windows、linux、macos多平台支持,非常好用,值得拥有。详细的我就不介绍了,用一用就会了。

  pycharm的官网链接:Download PyCharm

  

4.推荐的python爬虫学习书籍

  这里推荐两本很不错的python爬虫入门书籍:

  

  1.米切尔 (Ryan Mitchell) (作者), 陶俊杰 (译者), 陈小莉 (译者)的Python网络数据采集

  

  2.范传辉 (作者)的Python爬虫开发与项目实战

5.相关博文

  python爬虫入门教程(二):开始一个简单的爬虫
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息