由浅到深玩转Python爬虫(一)初识爬虫

前言

由于自身对爬虫技术的热衷以及在爬虫领域多年经验积累,决定综合爬虫领域的技术及我个人的经历写成一系列由浅到深的爬虫技术文章,希望以最简单方式、最实用的方式为爬虫初学者带来学习上的帮助、对从事爬虫领域的工程师带来新的感官、其实最大的初衷则是为未来的自己留下曾经在这个领域待过的足迹!

整个章节我分为了三个阶段:爬虫小生、高级爬虫、爬虫大佬

爬虫小白:认识并学习爬虫、爬虫框架、工具及第三方爬虫库使用

高级爬虫:Scrapy源码剖析、各种反爬机制破解与绕过分析、分布式爬虫组件及框架部署与开发(Scrapy-Redis、Scrapy-Cluster)、老生常谈的去重及增量设计

爬虫大佬:搭建自己的爬虫平台、Scrapyd源码剖析、新闻智能抽取库Newspaper剖析及优化、基于文本及符号密度的抽取算法、端到端大数据开源数据清洗框架
python网络爬虫
文章我会一直保持更新,由于平时工作不能及时更新,但是我会在工作之余尽快更新。

一、Python版本如何选择?

学习一门编程语言无论是兴趣爱好还是工作需要,我们首先需要做的就是在我们的电脑上安装它。

Python目前有两个版本,分别是2.X以及3.X。这里说说如何选择这两个版本呢?如果你做为一名编程新手学习爬虫应该选择哪个版本入手?在这里推荐使用3.X版本而,而对于一名开发人员来说版本的选择终究会往最新的过渡。

Python2.7到目前已经是停止了维护,早几年我肯定会推荐2.7版本的作为python入门语言。而如今Python领域大部分第三方开发包都已经支持3以上版本,不用再像几年前那么纠结了。其次,虽然目前性能不如2,但3代表着趋势,也将成为未来的主流,虽然版本高不一定代表好、但是代表着新的设计思想和趋势。毕竟语言并不难学,但是思想和经验是需要积累的。

下载地址: http://python.org/download/

二、IDE如何选择?

工欲善其事必先利其器

一款好用且集多功能的编辑器,对于我们在编写与调试代码来说,都非常重要。那么在学习Python的过程中,到底选择哪些编辑器或IDE呢?

以下两款IDE我一直在使用,所以推荐这两款IDE并简单介绍一下优点:

  1. PyCharm
    下载地址https://www.jetbrains.com/pycharm/download/

    特点:代码补全、项目导航、错误检查和修复、遵循PEP8规范的代码质量检查、智能重构,图形化的调试器和运行器

  2. Sublime Text
    下载地址https://www.sublimetext.com/

    特点:开发者中最流行的编辑器之一,多功能,支持多种语言,而且在开发者社区非常受欢迎。Sublime有自己的包管理器,开发者可以使用ta来安装组件,插件和额外的样式,所有这些都能提升你的编码体验

这两款IDE也是我一直在使用的,用的相对比较多的还是Sublim跟Vim

三、初识爬虫

说到爬虫,很多人都认为它是网络世界中一个不可而为之的灰色地带
爬虫即网页蜘蛛、网络机器人。专业术语:网络爬虫

官方一点的解释:是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。利用标准的HTTP协议,根据超级链接及WEB文档检索的方法遍历万维网信息空间的程序。

通俗来说:通过编写代码自动模拟人的行为访问网站并把网页上能看到的数据采集下来,最后归类、统计、分析等等

爬虫只是获取数据的一个途径。对于目前大数据行业来说,数据的价值不言而喻,在如今这个信息爆炸的年代,互联网上有太多的信息数据,而一些数据对于中小微公司,合理利用爬虫爬取有价值的数据,是弥补自身先天数据短板的不二选择。

根据上面的分析,可以把网络爬虫分为四步:
爬虫流程图
而一个完整的爬虫工作流程是怎样的呢?是这样的:
完整爬虫工作流程图

四、爬虫前景怎么样?

我觉得,所有的数据都是含有一定价值的,而唯一不同的是使用数据的人与使用数据的时机,还有数据的稀缺性。

爬虫职业的前景如果单一从爬虫技术的角度去讲的话,我觉得一般。因为目前社会行业对求职人员来说的话,最吃香的还是复合型人才,爬虫技术势必将要结合清洗、分析、挖掘、可视化等等。所以我们在选择这个领域的时候不能把自己的定位仅仅局限于爬虫技术上。

另一方面,从爬虫的角度来说,市面上很多网站能对外公开的数据都是大家有目共睹的,无非是技术手段的使用。那如果单一在爬虫技术领域想要产生价值、成为这个领域的专家你必须具备:能处理别人所不能处理的反爬技术,能做出一套爬虫通用模版,能根据业务需求快速完成爬虫技术选型等等

所以当我们选择某个领域时,一定要向这个方向深耕。技术与知识是不断更新换代的,而不断学习是我们毕生都需要坚持的一件事。
搞定

五、怎么编写爬虫?

OK,如果你是一名Python开发人员。想必你已经熟知Python开发大法。爬虫它对于你来说无非是看看模块的使用法则。

如果你是一名爬虫工程师,那么我相信你已经尝遍人生百站。但是后续的内容我可不敢保证你全部都会哟。

如果你是一名编程新手?没有过coding经验?OK。很好,在学习爬虫的时候正好学习开发语言,其实学习一门语言最有效、最快速的方式我认为就是实战!比我们捧着一本书看有趣多了,在我们开发爬虫的时候不仅可以开始学习语法、更能学习编程思维、高级用法、第三方库的了解以及使用等等。

本次为了写这一系列文章,我使用的是一台新电脑什么环境都没有,就是为了从新开始我的爬虫之路、让你们直观的看到每一步操作。

六、来!我们上道具

安装pip(一个以Python语言写成的软件包管理系统,他可以安装和管理软件包)

我们有了pip以后,下面的包安装就很简单了,直接都用pip安装就行。

安装iPython或者bpython(交互式Python Shell,方便我们平时一些操作的测试、调试)

安装Requests模块(Python编写的第三方爬虫库、用来模拟构造HTTP请求)

安装Scrapy爬虫框架(功能很强大的开源爬虫框架)

安装这些包的具体步骤我就不一一详解了,因为它实在很简单。网上的教程还是比较丰富的,说到这里呢?结合我在互联网行业的经验在这里我还是多说一句:在编程这条道路上,未来我们要独自面临、应对的问题可能数不胜数,我们每个人都要养成解决问题的主动性,有效利用搜索引擎能帮助我们解决职业生涯中的很多问题,更能锻炼我们处理问题的能力,这样才能让我们在自己的行业里独挡一面。

好,以上道具备齐就能开始我们的爬虫之路了,但是第一期的文章截止到这里也结束了。这是一个系列文章,它是循序渐进的,它是由浅到深的,我将它切分成多个章节是为了更好展示一门技术的艺术、让我们理解一门技术的精髓。

我们下期见

谢谢您能抽出宝贵的时间阅读,创作不易,如果您喜欢的话,点个关注再走吧。您的支持是我创作的动力,希望今后能带给大家更多优质的文章。

发布了9 篇原创文章 · 获赞 234 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qiulin_wu/article/details/104453579