从python的爬虫和opencv实践时总结解决问题的思维路径和方法

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_43800002/article/details/99586881

研一阶段
本科并不是cs专业出身的,研究生之后接触到了神经网络。因为机器学习开始接触了python这门语言,学习了也有大半年的时间,所以自己也勉强算是个半路出家的编程新人,在这一路上的自学中走过不少弯路,现做总结希望大家在繁多的学习资料,博客中看到这篇文章时能够给与你们一点帮助和启发。

因为python语法简单,上手快,所以刚开始就在学校的图书馆借了一本书来阅读,等基本语法知识看完之后,也没有做笔记,只是脑子里大概有了个印象。因为以前学过c,所以读完书的感觉就是好简单,基本就和网上说的那样能够看懂英文就能够读懂程序,但是其实这时候仅仅凭的是记忆,因为想着光看书是不够了,所以自己也动手做了,就下载了Pycharm,但是最后实践的只是for,if,列表遍历这样的,这时候图书馆的书借阅的日期到了,再加上自己也没有做笔记,没有深入地去实践什么项目,也就是意味着,这本书对我而言只是消化了30percent。

再到后面因为自己刚开始研究的是深度学习这一块,首先需要从典型的机器学习算法开始进行仿真,比如svm,决策树,聚类等。在网上找了别人的程序之后发现因为自己对语法知识不熟悉,所以导致自己在那个阶段更多的关注语法的学习,而不是算法的逻辑。

在研一刚开学的阶段花费了很多时间去重新了解python的学习,在知乎和其他的网站上搜寻python的书籍和学习方法,因为考虑到自己没有一门能够熟练操作的语言,再结合自己的研究方向,所以下定决心把这门友好的语言给学好。于是买了一本python的书籍,又从头开始看,当然这次看主要是建立自己的知识体系,将之前的知识盲区给补上。

放寒假的时候导师让看了几篇光伏预测方面的论文,外加上opencv的学习。所以准备在学习opencv的同时看python书籍,看一节之后把程序运行一遍,搞懂每一句代码的意思,就这样我亲自在python学习的道路上验证了实践是检验标准的唯一,寒假的时间对opencv和python的理解更加深入了一个层次。

于是开学时候,抱着对编程语言的兴趣,继续学习python,但是还是觉得一直看书形成的只是知识的开环,于是报名了二级python考试,就这样借着这个机会连续学习了20天的python,对题库里的每一道大题几乎都能够自己从头开始写出来,当然考试很简单,顺利通过,因为没有目的性地去学习是效率很低的,这样的考试让我提升了自己的编程能力。到那个阶段python的基本语法中唯一觉得不够了解的地方可能就是类的熟练运用了。

4月开始主要是在学习java制作app,所以这个阶段python的学习基本就是停止了一个月。

因为实验室用python的项目大都是做网站等,能够运用python项目当时很少,所以自己在忙完了app的时候,觉得还是得需要一个输出,于是在网上接触了爬虫的学习,当然刚开始看完北京理工大学嵩天教授得爬虫入门视频后也没有记笔记,当时更多得是对这领域的好奇,两天半的时间内看完了视频,觉得这领域简单,一个request语句,就能取回来这么多数据,等自己拿课程的代码来跑的时候发现很多图片,文字根本不是视频中所response的结果,开始去研究为什么会出现这种情况,因为课程的出现,导致了很多像我这样的爬虫小白直接拿着代码去跑,给对方的服务器带来了很大的压力,所以对方不得不更换了页面的解析元素,网址等。因为自己的探索精神和不放弃的原则,所以更深入地去学习怎么爬取图片,文字等。因为在网上查的很多东西之前没有接触过,所以紧接着在网上看莫凡的python的爬虫视频,在看这个视频的同时我记录了很多我不会的东西,开始留意在爬取的时候会注意到的点。

就这样断断续续学习了爬虫有三个半月的时间,不过中间有段时间因为期末考试,帮实验室做项目等有一个月时间没有去学习爬虫了。在学习中我会记笔记积累并实践爬取,遇到了很多问题,等基本的解析规则,爬取逻辑学完之后,在网上看到了崔庆才的爬取视频,这也给了我后面的爬虫学习路线提供了一个很有价值的参考,但这次在学习爬虫课程的时候,我改变了学习的方法,在每一节学习时候会做笔记,学习之后会自己实践直到从无到有实现爬虫没有问题之后,再继续往后面学习,当然我到现在还有分布式爬虫视频没有看完,也同时意味着在看完的视频中我已经掌握了很多知识。

现在我的爬虫水平也不高,但是在现在爬取任何一个网站的时候,在写代码之前我都会思考我投放的这只spider的逻辑,结构,需不需要更换IP,头文件,加cookies,是否需要处理ajax请求,用selenium会不会方便一些,考虑不给对方服务器带来负担,是否适合采用框架处理,对速度要求一般的就不需要采用进程池。所以现在在爬取数据的同时更多考虑的是能不能够爬取,偶尔也开始关注效率的问题,后面会多参考别人的代码,继续学习。

总结
我们的学习都是一个模仿,实践,再模仿,再实践的过程,表面上没有变,但是实际上你也是愈来愈优秀了。

1.学习python和爬虫都是没有了解清楚就开始了,没有制定个属于自己的学习路线,学习习惯最好是在听课和看书的过程中记笔记,这样既可以帮助自己经常记忆,关键点在后面也可以及时的进行查询。

2 多实践,实践和看书的时间应该大于1:1的,看书还是为了更好地能够实现。另外在动手编程之前应该在脑子里想差不多再去行动,不要一开始就拿着代码开始写,这样的话刚开始还可以,后面会很困难。

3 在编程中出现的问题时首先看提示,然后根据自己的经验和逻辑去解决。其次利用好搜索引擎,首选Google,编程出现的问题基本都是英文,所以在Google可以得到更有指向性的答案,另外如果使用无效,那么建议将英文翻译成中文再进行搜索。

4 多看别人的代码,这是来自上海一个久经技术行业20余年的IT公司总经理告诉我的,这也验证了上面的那句话,要想提升都是从模仿开始的。

加油,学习重在每天的坚持!!

猜你喜欢

转载自blog.csdn.net/weixin_43800002/article/details/99586881