用数据说话的年头,如何能够搞到完整全面的数据,可是件极其重要且并不容易的事。要真正做好大数据时代的分析,仅仅靠企业内部的数据是远远不够的,还需要借助外部力量。
这个时候,互联网上的资源就格外可爱了,从网络上爬取数据资源,就成为了非常关键的一环。
什么是网络爬虫?
网络爬虫也叫网络蜘蛛,即Web Spider,名字也是非常之形象。
如果把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛。网络蜘蛛通过网页的链接地址来寻找网页,从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,一直循环下去,直到把整个网站所有的网页都抓取完为止。
如果把整个互联网就当成一个网站,那么网络蜘蛛可以用这个原理把互联网上所有的网页都抓取下来。
光是听起来就很有意思,那利用这等技术能做些什么好玩的事儿呢?
小编随意选取了部分知友的回答,大家感受下~~
@冰蓝
之前在北京买房,谁想房价开始疯长,链家的房价等数据分析只给了一小部分,远远不能满足自己的需求。于是晚上花了几个小时的时间写了个爬虫,爬下了北京所有的小区信息及北京所有小区的所有历史成交记录。
@陈乐群
上次发现Android QQ和iOS QQ可以显示网络状态(2G/WiFi)之后,突然想到,这样子好像可以监视某人的出行和作息规律。简单的来说,在家里或者工作的地方,一般是有WiFi的,然后出门了,WiFi就断掉了。如果监测频率足够频繁,那么结合一定的推理,可以大致推测出一个人的行动。如果长期监视,那么可以大致推出一个人的作息时间。
因为只有Android QQ和iOS QQ有这个功能,所以要得到一个人的网络状态比较麻烦。我的做法是跑 Android 模拟器。然后用按键精灵模拟,并把网络状态截图,用 curl post到服务器上。服务器会把每次发送的时间、截图保存下来。因为是用程序截图的,所以只要网络状态是一样的,那么截图就是一样的,这样服务器就只会保存2~3张图片而已,其余的发现是相同的图片,数据库做个标记就好了。然后人工做OCR,还是注意到只有2~3张图片,所以工作量很少。
得到数据后,要做各种统计就可以自己搞了……
@森羴
在用Python写网页爬虫之前,我只用来写过了一个驾校约车的脚本,让当时的我不惧上万的学车同僚,在约车环节没有输在起跑线上。
接着那段时间,我女朋友的领导每天下班都会下任务,要收集100条有招聘需求的信息,第二天检查。看到她熬夜百度+复制粘贴到半夜,心疼死了。
想到了某个牛人说:一切重复性的工作都可以用程序来完成。于是偷偷花了些时间研究了下她经常查的某些同类业务网站的页面数据,培育了这只爬虫。主要技能就是爬这些网站的招聘公司信息及联系方式,保存到Excel中。
在我将战斗成果----1000多个客户资料的Excel表格发给她的时候,先惊喜,后审问,再感慨!依稀记得那天她发了一条朋友圈,内容是:“有个程序员男朋友,感觉好幸福啊!!”成就感走直线啊,都能让她感到幸福,你说这只爬虫是不是做了很酷很有趣的事情呢?
@柳易寒
我用爬虫爬了我爱白菜网、超值分享汇、发现值得买、惠惠购物、今日聚超值、留住你、买手党、没得比、慢慢买、牛杂网、买个便宜货、什么值得买、天上掉馅饼、一分网、折800值得买、值值值等网站的折扣信息。
这些网站都是提供的一些及时的、性价比较高的商品,很多时候要一个一个网站的看(重度用户),很容易就会错过一些很划算的商品。
@小白
大二学生一枚,前段时间中期考试,成绩一直不出来,又不想每次都登录,突然就像用以下所学的东西来干点事情。
说干就干,花了我将近4个小时完成成绩提醒功能。主要是用Python定时抓取数据(定时用Ubuntu的crontab),分析数据是否变化,然后发送短信。其实大部分时间是花在分析学校模拟登陆那一块了,毕竟要提取各种值,还有url重定向,本来就才学Python,对一些东西也不是很熟悉。
运行起来之后还是效果还不错,10分钟抓一次,第一时间知道了我的概率论。。。
@顾旻玮
在学校的时候做过一个项目,通过爬微博的文字,分析国内各个地区的用户收听虾米的热度和最受欢迎的歌手。当然也没有用什么很复杂的技术,就是写基本的TF-IDF。
做完的时候觉得自己好有想法啊,能实现这么有意思的东西。后来发现早就有公司做过了。当然别人做的是美国版的。
于是现在,我就在这家公司工作。
@晨晨
朋友交易了一套房子,手机号流落到了各种中介手里,隔几天就有中介电话骚扰,不胜其烦。每接一个电话都加黑名单,但还是有新号码打过来,so⋯⋯问我咋办!
Android 手机的拦截倒不是问题,但需要房产经纪人的号码数据库,就只能去网上爬了!
各个房产站的广州站点加上58什么的,一个多小时爬了快两万个号码,去重之后还有一万五千多⋯⋯
一时兴起,又去爬了深圳、北京和上海,现在都不知道拿这些号码去干嘛了⋯⋯
PS:貌似活跃房产经纪的数量能反应市场活跃度?
PS:我觉得我可以把全国城市的都爬下来。
@孟德超
非计算机系。所以我做的比起其他人来说要简单的多,但是却解决了一些很实用的问题,也让我认识到各行各业的人都需要学一点编程。
我一个同学做数学建模,需要57个城市两两之间的距离。他们本来想在百度查,可是57*56/2=1596,也就是说他们光查数据就要百度1596次。刚好我那个时候接触了一点爬虫,就找到一个可以查询距离的网站,大概写了几十行代码,两分钟就解决问题了。
@余生梦
说个简单实用的例子吧。昨晚突然发现我在某培训网站的的会员马上就要过期了,于是赶紧写了个爬虫,把没看完的教学视频全下载下来了……
@ animalize
用爬虫技术做了个个人信息收集系统,部署在卡片式电脑(如树莓派、Cubieboard)上。
人们上各种网站浏览感兴趣的内容,如果一个个打开看,太浪费时间。如果不去看,又会错过很多感兴趣的内容,很可惜。这个东西呢,定时去获取用户感兴趣的信息,并通过web的方式展示出来。用户每天看一眼这个系统就可以了。(有网友说用RSS就可以了,可是现在提供RSS的网站实在不多,我这里大部分信息是从普通网页里提取的。)
@萝莉控夫斯基
我的爱人是某网络公司的销售,需要收集各种企业信息然后打电话联系。于是乎利用采集脚本抓一坨一坨的资料给她用,而她的同事天天自己搜资料整理到半夜。
不过,小编温馨提示,好东西可要用到正道上哦~~