作为资深宅男的我,自然对外面吃、玩的地方了解甚少 -_-! 。那么怎么才能选到好吃的地方呢,这个问题很严峻。既然学了计算机专业这么两年,我想,也许它能帮到我吧,于是乎……

下载八爪鱼

首先,我下载了一个上手快,门槛儿低的爬虫软件—八爪鱼。很简单,我用它来抓取达州附近所有的美食商铺,最后进行一个筛选,找个性价比高点儿的店铺,就达到我的目的了,O(∩_∩)O~~。

开启采集

打开八爪鱼采集器,选择高级模式–>开始采集:

在下一个页面写上任务名,分个组,打上备注,点击右上角下一步。我们从百度地图中来采集我们需要的店铺(百度地 图: http://map.baidu.com/),然后你可以通过看视频或者教程的方式,设置如下工作流程:(我搜索的是达州美食)

OK之后,一直点下一步,最后,点击启动单机采集就好。之后,就是漫长地采集数据的过程了,百度地图上存在的相关商铺,都会被采集出来,你会看到这样一幅画面:

保存数据

我已经采集到不重复的500来个商铺了,但我还是不打算放手,再搜点儿,主要是享受偷数据的快感,对吧,O(∩_∩)O哈哈~
然后,我们把得到的数据进行保存,选择右下角“导出到数据库” ,我选择mysql数据库,当然,前提,你在mysql数据库已建库与表以及相应字段,然后,选择映射时,将抓取字段名与数据表字段进行匹配映射就可以了,导入后,就是这样了(^__^) ~~ :

然后,我们就可以疯狂地进行SQL查询,找到符合我们要求的美食店铺咯。当然我已经找到了,嘿嘿,SQL语句可以是:
SELECT * FROM SHOP WHERE SHOP_PRICE!=’’ ORDER BY SHOP_LEVEL DESC,SHOPPRICE ASC

价格低,评分高的店铺的确还是有的,满意、开心!O(∩
∩)O~

上面着重讲到了数据的抓取,而对于数据的筛选,貌似仅仅用到了一条sql语句,这样未免有些太low,而且不容易找到自己最想要的价格区间和评分区间。所以,我的打算是使用遗传算法:即基于已获的大量数据,以价格和评分通过公式“1-|EP1-A|-|EP2-B| ”转换为算法适应度,再经过交叉运算与变异运算之后,得到最佳个体,即我想要的最终店铺。

最后

  • 附上面八爪鱼安装包下载地址:http://pan.baidu.com/s/1o7Frots (含以上采集工作流程图的任务,直接导入任务使用就可以了,当然你也可以在官网去下载)
  • 遗传算法相关说明:模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。我也写了一篇关于遗传算法的博客(被用于英语四级考试的自动组卷),详见:http://blog.csdn.net/localhost01/article/details/52141554
    更多文章,请关注:开猿笔记