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

最开始接触爬虫的时候,简直就是惊为天人,看别人十几行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、没有专业的人知道,会走很多的弯路,自己都不知道要往哪里学。

所以很多爬虫工程师,都会有跟我一样的体会:爬虫这玩意儿不需要多精湛的代码技术,也不需要多深的数据库知识,只要有合理的学习路径以及实操项目,都能学好。

Python经验分享

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

Python学习路线

这里把Python常用的技术点做了整理,有各个领域的知识点汇总,可以按照上面的知识点找对应的学习资源。
在这里插入图片描述

学习软件

Python常用的开发软件,会给大家节省很多时间。
在这里插入图片描述

学习视频

编程学习一定要多多看视频,书籍和视频结合起来学习才能事半功倍。
在这里插入图片描述

100道练习题

在这里插入图片描述

实战案例

光学理论是没用的,学习编程切忌纸上谈兵,一定要动手实操,将自己学到的知识运用到实际当中。
在这里插入图片描述

这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

猜你喜欢

转载自blog.csdn.net/Python_cocola/article/details/130754302
今日推荐