做爬虫的一些技术观点-第450期

最近我们收到很多抓取数据的技术咨询的来信,例如:

博士,您好,向您请教个问题,新浪微博搜索调整了过滤机制,页面搜索数据返回大大减少,不到商业搜索的5%,对于页面搜索的爬取,博士能否分享一下经验?如何尽量多的爬到数据?谢谢!

我发现XXXX有个漏洞,只要怎么怎么就能抓到很多数据

今天我继续谈谈我做爬虫的一些技术观点。

1)一定要走大路

我认识很多做微博数据抓取的人,他们觉得账号登陆是一个很麻烦的事情,唯一不需要账号登陆的就是微博搜索,他有很多关键词,每天拿这些关键词去搜,也能得到很多微博数据,很开心。突然有一天,微博返回结果很少了。。还有些就是到处找漏洞,发现一个漏洞就猛用,当一天人家堵住漏洞了,虾米了。。

做业余爬虫,抓下来数据就行了,这其实还很不够,要找到终极方法,长治久安的稳定的获取数据,这才是专业爬虫,也就是一开始就要走大路,要走普通用户都获取数据的方式来,那么要想堵住爬虫,则需要付出巨大的代价。

2)一定要拟人化

这是我一再强调了,并且写入了我的博士毕业论文,爬虫一定要想真实用户一样的去访问数据,多少频率刷新一下数据,如何跳转,都有模拟真实用户访问行为。

3)一定要有足够多的IP和账号

账号怎么来,淘宝上买,多买几家,渠道要diversity,账号的注册时间要老,不能买刚注册的,起码是1年以前注册的。IP怎么来,这个其实也可以淘宝上买,找各种QQ群找卖家,渠道也要多。

4)不要太贪

非要把人家微博数据都抓全,这得多大代价,抓个采样数据做做研究就够了,太贪就容易进入一个挣扎的通道,厂商就会和你搏杀了,你看我每天不抓太多,相安无事。

做爬虫,技术其实没有尽头,你看我最近还在解决dns缓存的问题,下载一个微博page有时候要解析多大30多个域名,如果dns缓存有问题那代价是很大的,这方面可以自己做dns缓存,做这种车轮的人已经很多了;另外还有包括如何开一个牛逼的socket5端口,这方面的我军和美军车轮都很多,github上乌央乌央的,但真正做一个好的sock5服务器,并不容易,需要解决很多技术问题,比如数据加载超时,比如小块内存的分配和释放问题等等。另外在多IP环境下,每次一个链接的建立,都需要一次锁操作来从本地端口池中找一个临时端口,一个IP无所谓,如果一块网卡上绑定多个IP,每个IP都有大量数据通讯,这就是大问题了。


我会在近期找个时间在北京地区开一个爬虫party,欢迎做这行的人,都见见面,认识认识,当然有单位愿意赞助的可以联系我,费用也不高,估计也就1万元左右(主要是包场地用)。



最后推荐一个优秀微信公共账号,曹政同学开了微信公共账号(账号名:caozsay)。曹同学是早年百度的老同志,后来4399当CTO,江湖人脉深厚,对互联网有深刻理解,数据控,特别是对游戏行业很有专研,目前定居在新加坡,国内有业务。大家可以关注下,很有思想内涵。




网友来信

网友A:梁博有没有做一个统计,未来对于程序员就业需求的缺口?上次看报道分析,美国近未来20年程序员就业缺口还有140w啊,中国怎么会就遭遇冷天了。


答:现在大环境是美国经济开始复苏,国内情况并不太乐观。美国是高科技立国,全社会都比较重视这种高科技搞技术人才,这类人也是最容易移民的。总体上看,国内情况还不是那么糟糕,程序员的需求量依然很大,毕竟还有这么多创业公司,现在是创业大潮。


网友B:梁博你好,关注你好几年了最近有些困扰,想听听你的看法。领导给下属安排工作内容时,是否会适当考虑下属的兴趣点和擅长?还是大部分会看项目,需要什么就让你做什么?作为一个传统企业里的码农,同时要会数据分析、网站开发、软件开发,以及机械设计软件的二次开发…我已经无力吐槽了/::<想在一个方向上深入几乎不可能实现。值得嘛?


答:昨天微博还有人说现在有没有国内码农做一个技术方向做5年以上的,然后有人回答做lisp的伞哥做了5年。目前他人在意大利留学,其故事大多数人都知道我就不多说了。总之,专研一个技术多年在国内确实很难,领导安排工作是绝对不会以你的兴趣和特长为出发点来设计工作内容的,主要是根据工作内容来找当前可能最合适的人。



其他常见问题

Q:如何在pennyjob投放广告

A:我们暂时只服务码农的找工作需求和招聘告发布。请找联系:[email protected] 发布你们的信息 。


Q:本栏目担保的靠谱服务有哪些

A:详见:http://assurances.pennyjob.net/


你可能感兴趣的:(做爬虫的一些技术观点-第450期)