自己写程序被自己给气着是一种什么感觉?是一种什么体验?
我的主业是以给媳妇写程序为生,我的副业是做网站,更新文章,推广,做点网络项目,很多时候,我可以为了给媳妇写程序,放弃网站内容的更新,如果我的程序能够帮助媳妇,在分公司,或山东区域,或全国名列前茅的话,那将是我的荣幸。
很显然,上一年的时候,媳妇通过自身的能力,在加上我写的程序,帮助媳妇把业绩做到了top系列,这一年媳妇也重新设定目标,立志能够在这一年赚到40个达不溜,既然媳妇有这样的意愿和想法,那我就尽量的去满足她的需求。
我现在面临的第一个尴尬就是,无法正常抓取58同城的数据,平台的数据,不是说抓取就抓取的,毕竟平台也不傻,我辛辛苦苦搞的数据,怎么可能会让你轻松不费力气的去抓取?因此很多平台都设置了反爬虫措施,最常见的措施就是,验证码,js加密,随机秘钥,反抓包等
虽然我并不是专业的程序员,但抓个包,抓点数据,攻击个弱点的小网站,还不是问题,而面对专业的防范选手的时候,说实话,我只能寻找一些野路子。
就比如58同城平台中的数据,之前的时候,我是通过抓取中华英才网的数据,来直接爬取58同城的数据的,中华英才网的数据库是对接的58同城的api,但中华英才网的网站并没有加密,像这种情况,肯定是想怎么赚取就怎么抓取数据咯。
但好景不长,不知道是中华英才网察觉了还是抓包过于频繁,后来的时候中华英才网的数据接口直接无法使用了,我只能另辟蹊径
说是另辟蹊径,但我根本刚不过58同城的专业防范,并且58同城的反爬虫意识非常强烈,你这边还没有抓取到什么数据呢,它就让你输入验证了,至于想从APP抓包下手?这根本就不太可能,当你打开抓包APP,去访问58同城或者中华英才网的时候,APP中就直接显示无网络,等你关闭了抓包程序后,58同城或者中华英才网的APP就又可以再次访问了。
在我和58同城平台一次次的战斗中,我逐渐的找到了突破点,于是我就按照我自己的思维逻辑写程序,说白了,写程序其实并不难,写程序其实技术并没有那么重要,重要的是逻辑思维。
你可以把逻辑思维理解成地基,可以把程序理解成高楼大厦,可以把技术理解成钢筋水泥,如果思维逻辑都不通透,写好一个程序的可能写几乎为零,相反,如果程序的思维逻辑比较通透的话,技术菜一些并没有问题,毕竟现在各种问题随便一百度,知乎,都能找出来。
在这里在阐述一个观点,这个世界上没有什么程序是非常完美的,任何一个程序都都一定会有缺陷和不完美,以及各种bug,就比如我在写58同城程序的时候,因为使用错了一个表达式,导致程序带着bug运行运行一个多月,重点是我还没有发现。
我给媳妇写的程序逻辑是,抓取平台中的数据,然后再从数据中对比,哪些数据是新数据,哪些数据是旧的数据,我要将新的数据发送给媳妇,如果数据是旧数据的话,那就保存在原来的文档中。
在程序的表达式中,有两种表达方式是,且,或,下面就随便举个例子。
如果小明是个男的,且喜欢女的,且有钱,且有房,且有公司,且有产业,那么小明很有可能是个富二代。
如果小明是个男的,或喜欢女的,或有且,或有房,或有公司,或有产业,那么小明很有可能是个富二代
我就是带着这种bug,让程序运行了一个多月,并且是在程序运行一个多月后发现的,当我自己发现这个巨大无比的bug的时候,我真的超级想给我自己来几巴掌,但程序是自己写的, bug也是自己造的,打自己又很疼...