【一】学PYTHON及爬虫的一些总结
两年多的互联网产品经理,意犹未尽的作死之路。大学学的国际经贸,除了挂过科的VB,基本上没有碰过代码。
前后算下来,大概花了两个多月的业余时间接触Python这门编程语言,自学的顺序是从python基础开始,再到python爬虫,然后也顺其自然地触及一些python初级数据分析。
趁着年关有比较大把的时间挥霍,写篇文字记录下。
1.我作为编程初学者的心态
我有一点多动症,不大喜欢做没有兴趣的事,没有兴趣的事会尽力尽责,但是有兴趣的事会全神贯注。控制自己的心理的习惯又开始了,学习之前先培养自己的兴趣。
自学的过程中早已习惯了碰壁。这是一个你只能抱着挑逗它的心情被它挑逗的过程。
当然,还有最后一招,走!如果干不过,就暂时先闪。
2.有意识的时间管理
工作日每天上完班,就去健身房撸铁和跑步,回来还得自己做做饭看看妹纸们的平旌哥哥之类的,剩下的时间着实不多,更奇怪的是,写代码的时间真的过的飞快,有时候为了解决小问题,要花两天晚上的睡前时间。
在此推荐一个程序和一个方法。
程序指Chrome浏览器的一款每隔30分钟就提醒你放松的扩展程序,休息是为了……去上个厕所吧,大概就是这样。
方法指脱不花爱分享的呼吸时间控制法(名字可能是这么叫的),说起来有点抽象,但是大概就是让你回溯本心,感受当下和精神力量,再补一句她事业伙伴的话就是,做时间的朋友。我大概就是这么总结的,原话我已经忘光了,如果不信,你可以每天不定时地多深呼吸几次几十次,脑袋空空之后,快速整理下TODO。
3.关于自学方法的几点心得
百度一下。很多人说百度搜索不精准,这个姑且不论,但是在自学的时候,碰到的问题那真是数不过来,学会用百度尽快精准地查找到相关答案显得格外重要。前人栽树后人乘凉,很多我的疑问其实早就有人问过了,所以接下来就是输入关键词进行缩小查找范围和精确定位问题。
总要静下心那么一会。现在遇到闹哄哄得停不下来的小孩,我就会一把抓住他的双臂,声情并茂地告诉他”XXX,你要冷静!“。人在过度兴奋的时候,大脑就像写满的内存一样,放不进去其他东西。所以有时候需要静心,除了前面说的休息,还有就是有意识地清空大脑“内存”。
推理、再推理。跟高中做数学题的时候,由答案来推理答题思路一个意思。一般像我这么笨的人只能这么玩了。看着代码之间的逻辑,看着报错内容之间的逻辑,分析之间脉络的承前启后。我经常会通过打印中间结果和修改部分代码,来辅助分析。
时常换个角度思考。集思广益的最大可能性在于每个人思考的切入角度和维度不同,有时候走不过去的时候,有意识地去换个角度去看同一件事物,说不定就能解决。
4.坑的独白
装软件客户端,装mysql、python2及其一些重要拓展包的时候,完全可以说是我入门踩的第一个坑。网上没有找到一个完整的教程。在这之前完全没有类似经验的情况下,我尽量凭借着一些片段信息循环百度,遇到报错循环百度。
学习的过程,看到有趣的code,总想拿来剖析学习下。但别人家的code,即使以再怎样华丽的姿态发布出来,想copy&paste就实现成功运行,以我短短的上百次实验表明,成功概率大概只有1%。
说说code执行失败原因,一是大家在贴代码在某博客或者某网站上的时候,经常不习惯说明自己的python版本、所用环境,像我这样的小白先生,自然容易碰壁(python2与python3,是一道避不开的忧伤,我两个都装了,经常来回切换)。二是Python语言的常态更新、各种python包的更新,python不同版本对不同包的适用性等,都有坑。三是,爬取的对象——网站本身html&js等的更新和反爬虫能力的迭代升级。
python的学习是从几个版本的python基础类书籍和网站开始的,来回跳着看,感觉吸收得有点营养不良。最后还是化简为繁,结合着《笨方法学python》练习了两个礼拜,稍微有点长进,这才开始拿起python爬虫。
5.开启python爬虫
自从做数据产品经理之后,跟大数据和机器学习打交道变得越发常态,而用来学习数据分析和机器训练的数据从拿来?最自由的方法当然就是爬……
曾有段时间做过初阶的数据分析和运营分析,也偶然见过一些有趣的基于爬虫数据的数据分析,这些经历让我随即对爬虫来了兴趣。我用的范传辉老师的书开始学习爬虫。书中内容的设计整体由浅入深,所以我就照着学了……从RE/BeautifulSoup开始,一边描绘着正则表达式,一边完全模仿着傻傻地敲着code,曾经一开始就有上百次都执行失败了。过了一段挣扎的时间,开始尝试lxml这个神器,有那么一瞬间竟觉得爬虫那么白痴。当然,我马上意识到这只是错觉……又过了一段挣扎的时间,开始接触动态网页爬取,我很当然地拿了我很喜欢的qunar.com来试练。最后,是爬虫调度程序,爬虫调度程序是一个好东西,书本中的爬虫调度程序案例让我Impressive。有时候还是喜欢这种很有巧妙逻辑性的东西,就像产品设计一样,各个局部互相配合和协同,共同营造一个灵活的有机的整体,可能没有生命那么给人以震撼,但是毕竟也是一种有趣的创造。这大概是代码之美的一种体现吧。
在范老师书本的最后几章,开始遇到了一个爬虫调度程序的升级版怪兽——Scrapy,一听就很蜘蛛侠有没有!我猜想可能是Super crawl python的简写……Impression Feeling++……目前还没学完。
在尝试各种爬虫方法的过程中,我给自己总结了3点注意事项:1.根据网站的信息获取方式、代码类型和反爬虫办法,需要运用或综合运用不同的爬虫办法。2.紧接着另外一个问题,几种爬虫方法来回用的混乱了。就需要静下心快速再重温了一下知识点。3.有些网站的反爬虫可能未必很高超,但是人家的目标“用户“就是我这种看不大懂的人,识时务的就别硬上了。换下家爬……
网友评论