前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >不用代码也可以采集到高质量网页数据!

不用代码也可以采集到高质量网页数据!

作者头像
沉默的白面书生
发布2018-05-07 14:24:12
7180
发布2018-05-07 14:24:12
举报

最近浙江省新高中信息技术教材将VB语言替换成python,并且使用「Python/Matplotlib/Pandas」组合作为高中计算机高考内容,这个引起了使用python人的一次狂欢,不少培训机构收高价学费开展此类课程培训,这也难怪,在信息数据更加全面、获取更加简单便捷的互联网时代,都想尝试用数据获取不为人知的密码,随着编程因为重要性而逐渐普及,将迎来人人都会编程的时代。

Python超越 Java 成为最受开发者最常用的编程语言

Python语言最近这几年的热度和普及度可以说是一年更胜一年,主要由于学习成本相较于java、php、c来说比较低,类似于胶水的语言环境更是降低了学习的门槛。作为文科生,在下也是一路自己摸索过来的。

在意识到掌握一门编程语言的重要性,是在一次花了7天时间核对20万条数据之后,当我把这事吐槽给一位朋友听时,他淡定的说:以后这事找我,半小时搞定。那时候我才知道编程语言原来这么厉害。

学习一门编程,即便是大家认为简单的python也是需要学习语言、需要对代码比较深入了解的,这对很对工作压力比较大的朋友来说,又增加了时间成本,那么有没有一些方法能够快速爬到需要的数据呢?

以爬取途虎养车全北京门店数据为例介绍两个工具,思路是:1.爬取门店主页信息,2.爬取门店详细页信息;3.基于地址爬取经纬度。

第一步:爬取门店主页

打开途虎网站(https://www.tuhu.cn/),进入“服务门店”,选择“北京市”(所有),会注意到URL地址已经跳转到途虎养车北京市服务网点:

 此时按键CTRL+U或“右键查看网页源码”打开网页的源代码,比如想要爬所有门店的地址,就在源码里查找下,找到内容所在位置。

接下来就对HTML的标签做个简单的逻辑理解。理解的目的是让机器能够读懂要提取的内容所在的位置且不会和其他逻辑冲突。还是以这个地址为例,需要提取的字段在:

<divclass="item clearfix"……门店地址……title="<待提取内容>"

接下来就是在内容采集规则里创建一个你需要采集的标签逻辑,不多说见下图,把之前的逻辑录入。

到这里一个字段的提取逻辑配置就完成了,我们来看看效果?是不是把所有地址都采集到了,其他字段配置方法一样,这里就不赘述了。

接下来把数据从数据库导出,放到excel预览如下,为什么要导到excle里呢,因为我们还要基于门店URL爬取门店的明细数据(其实高手可以通过一个爬取任务完成这两部数据爬取,以后有机会再介绍怎么配置)。

第二步:爬门店明细数据

把第一步爬取的“门店URL”的数据全部存到一个txt文本中:

网址采集规则的网址改成保存的文本即可,然后就是一堆规则的配置。。。。。

采集完明细数据后,通过URL做两个表的JOIN(我用的Mysql,所以一条类似语句就搞定了)

第三步,采集经纬度信息。

首先需要给XGeocoding准备数据源,为了让提取的经纬度更准确,这里需要4个字段

通过“新建”→“导入文件”→“txt/csv”将准备好的数据导入:

将字段0选为“同步ID”,字段1选为“市/县”,字段2为“商户名”,字段3为“地址”。坐标类型选择“百度”,当然你有其他地图的KEY,也可以用其他的地图源:

下一步后,会让你选择“工作地图”和输出地图坐标,这里根据实际需求选择,工作地图需要配置过API KEY才可以调用(自行去他们的开发者门户上申请):

然后通过“结果”→“导出数据”,预览已经采集到的经纬度数据,将其导出即可。

将导出的数据清理保留ID、经度、维度即可。通过ID和第二步数据JOIN即可。

最后我们通过tableau预览下数据:

总结:

本文以采集北京地区的途虎门店信息为样例做了一个数据采集工具操作的基本演示(部分细节没有展开说明,如果有搞不懂的,可以和我沟通),借助工具即使不是IT也能自行完成在线数据的爬取。有几点需要提醒:

1.工具一定有局限性,不是所有的事都能做到。

2.采集的结果也会有一定的偏差,这个时候需要通过一些手段和方法去避免偏差。比如本文中,我们用到省份、地址和商店名称做多个数据校验。即使如此还是会有异常数据。因为本身地址重名或接近的情况就存在,当输入信息不足的情况下,错误还是会出现会出现。如需需要进一步提高数据采集

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.12.12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档