我是如何零基础开始能写Python爬虫的

百家 作者:AI100 2019-10-16 10:09:55
最开始接触爬虫的时候,简直就是惊为天人,看别人十几行python代码就能把无数网页上的信息爬取下来。
对于这些数据,利用的好可以发挥很多价值,比如:市场调研、用户调研等等。互联网发展到今天,这种技能不掌握真是太浪费了,于是果断开始学习爬虫。


01

并没想象的那么容易


因为自己本身对python了解的也不是很多,于是马上着手开始学习python,但是在没人指导的情况下确实很迷茫(mb)。
通过网上查的一些资料,以及参考别人的学习过程,于是看了一些书籍,了解数据结构,然后是列、表、字典、函数、控制语句等(常用的条件语句、循环语句)。
学了一段时间后,回过头来看,其实自己并没接触到真正的爬虫,而且学习纯理论的东西长时间不用就会忘记,只能回头继续复习,确实很浪费时间。

02
直接上手阶段

之前在csdn逛gai的时候看到别的大牛分享的技术贴,清晰的思路一看就懂,这才是我应该学习的爬虫。于是决定自己先搭建一个环境试试,看看能玩成什么样子。
因为怕出错,装了比较保险的 Anaconda,用自带的 Jupyter Notebook 作为IDE来写代码。看到很多人说因为配置环境出各种BUG,简直庆幸。很多时候打败你的,并不是事情本身,说的就是爬虫配置环境这事儿。
遇到的另一个问题是,Python 的爬虫可以用很多包或者框架来实现,应该选哪一种呢?我的原则就是是简单好用,写的代码少,对于一个小白来说,性能、效率什么的,统统被我 pass 了。于是开始接触 urllib、美丽汤(BeautifulSoup),因为听别人说很简单。
我上手的第一个案例是爬取豆瓣的电影,照着一些爬取豆瓣电影的入门级例子开始看,从这些例子里面,了解了一点点爬虫的基本原理:下载页面、解析页面、定位并抽取数据。
代码就不展示了,最终通过别人的思路和自己查找美丽汤的用法,完成了豆瓣电影的基本信息爬取。

03

走上正轨


有了第一步的实践,就需要继续往下学习、尝试,比如爬取多个元素、翻页、处理多种情况等涉及的语句控制,又比如提取内容时涉及到的字符串、列表、字典的处理,还远远不够。
再回去补充 Python 的基础知识,就很有针对性,而且能马上能用于解决问题,也就理解得更深刻。
BeautifulSoup 还算不错,但需要花一些时间去了解一些网页的基本知识,否则一些元素的定位和选取还是会头疼。
后来认识到 xpath 之后相见恨晚,这才是入门必备利器啊,直接Chrome复制就可以了,指哪打哪。即便是要自己写 xpath,以w3school上几页的 xpath 教程,一个小时也可以搞定了。requests 貌似也比 urllib 更好用,但摸索总归是试错的过程,试错成本就是时间。

04
反爬是道坎儿

在爬取一些网站的时候,可能是涉及到了敏感信息,发现很多内容根本无法爬取,而且IP经常被封禁。简单的可以通过 time.sleep() 控制爬取频率的方法解决,限制比较严格或者需要保证爬取速度,就要用代理IP来解决。
后来也试了一下 Selenium,这个就真的是按照真实的用户浏览行为(点击、搜索、翻页)来实现爬虫,所以对于那些反爬虫特别厉害的网站,又没有办法解决。但是Selenium 确实非常好用易上手,虽然速度稍微慢点。


05
初尝Scrapy 框架


使用 requests+xpath 和抓包大法确实可以解决很多网站信息的爬取,但是对于信息量比较大或者需要分模块爬取的话,就会显得寸步难行。
后来应用到了强大的 Scrapy 框架,它不仅能便捷地构建 Request,还有强大的 Selector 能够方便地解析 Response,然而最让人惊喜的还是它超高的性能,可以将爬虫工程化、模块化。
学会 Scrapy,自己去尝试搭建了简单的爬虫框架,在做大规模数据爬取的时候能够结构化、工程化地思考大规模的爬取问题,这使我可以从爬虫工程的维度去思考问题。
再后来开始逐渐接触到分布式爬虫,这个东西听着挺唬人,但其实就是利用多线程的原理让多个爬虫同时工作,能够实现更高的效率。

总结一下我学习python爬虫过程所走过的一些坑

1、缺少合理的学习路径,上来 Python、HTML 各种学,极其容易放弃;

2、网上的资料非常零散,而且对小白不友好,很多看起来云里雾里;

3、没有专业的人知道,会走很多的弯路,自己都不知道要往哪里学。


所以很多爬虫工程师,都会有跟我一样的体会:爬虫这玩意儿不需要多精湛的代码技术,也不需要多深的数据库知识,只要有合理的学习路径以及实操项目,都能学好。
当然麻烦的是,在具体的问题中,如何找到具体需要的那部分学习资源、如何筛选和甄别,遇到困难时如何有效解决,是很多初学者面临的大问题。
不过不用担心,CSDN准备了一门非常系统的爬虫课程,除了为你提供一条清晰、无痛的学习路径,我们甄选了最实用的学习资源以及庞大的主流爬虫案例库。即便是零基础,经过短时间的学习,也能很好地掌握爬虫这个技能,获取你想得到的数据。 

扫描上方二维码,立即抢购

限时特惠99元,每100人购买涨价10元


课程大纲


高效的学习路径
一上来就讲理论、语法、编程语言是非常不合理的,我们会直接从具体的案例入手,通过实际的操作,学习具体的知识点。我们为你规划了一条系统的学习路径,让你不再面对零散的知识点。
比如我们会直接教你网页解析,减少你不必要的检查网页元素的操作,这些看似细节,但可能是很多人都会踩的坑。


20+实战案例边学边练
- 超多案例,覆盖主流网站 -

课程中提供了目前最常见的网站爬虫案例:豆瓣、知乎、瓜子二手车、赶集网、链家网、王者荣耀……每个案例在课程视频中都有详细分析,老师带你完成每一步操作,专治各种 “看得懂案例,写不出代码” 。
赶集网实战项目
学会使用正则表达式提取整个网页的数据。
王者荣耀之战项目
1、破解王者荣耀高清壁纸下载链接。
2、利用多线程高速下载高清壁纸。
3、按照英雄名称存储对应壁纸。

链家网分布式爬虫

1、用Scrapy框架实现商业爬虫。

2、用多台机器实现分布式爬虫。

3、实现全国各个省市二手房信息的爬取。

4、将爬取下来的数据存储到redis中。


 

讲师介绍

 

黄勇老师

黄老师拥有多年实战开发经验,擅长Python、C、C++、前端、iOS等技术语言,用Python开发过多个大型企业网站,从零打造分布式爬虫架构。目前专注于Python领域的课程研发和教学工作,曾给网易、360、华为等多家大公司员工做过Python技术训,具有丰富的实战和教学经验



【课程信息】


「 课程名称 」

《从零起步,系统掌握Python网络爬虫》


「 学习周期 」

建议每周至少学习8小时,一个月内完成课程


「 上课形式 」

录播课程,可随时开始上课,反复观看


「 面向人群 」

零基础的小白,或基础薄弱的工程师


「 答疑形式 」

学习群老师随时答疑,即便是最初级的问题



#限量优惠#
限量99元
(原价599)
每100人购买涨价10元
140余节课程,平均每课1元钱,坚持一个月,系统掌握Python进阶

扫码上方二维码,立即抢购
点击“阅读原文”,立即查看课程详情
你点的每个“在看”,我都认真当成了喜欢

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接