专栏首页全栈数据化营销不用代码也可以采集到高质量网页数据!

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

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 数据分析案例:用数据研究房地产,买到理想的房源

    买房,可以说是很多人一辈子最大的投资,几百万的代价那得慎之又慎,否则买到烂尾的、有质量问题、设施问题的房子那就实在不值了。另外,现在的市场房子楼盘还是很多的,房...

    沉默的白面书生
  • 数据分析:让众筹成功率100%的几个维度

    最近在做一个科技产品的众筹项目,在分析产品和项目可行性的时候,会特别好奇为什么有的产品能够众筹成功,并且达到数量和金额双重目标,但是有的产品就显得略微惨淡,到底...

    沉默的白面书生
  • 不用代码,10分钟采集58同城二手车数据信息

    最近得空把之前的一些案例稍微整理一下,之前做的案例有: 案例1:汽车之家网站奔驰宝马宝马信息采集 案例2:天涯论坛各个板块文章信息采集 案例3:豆瓣电影、读书板...

    沉默的白面书生
  • 高德地图推出“活地图”API,打造大数据智能出行服务

    一方面是利用大数据让“路活”,地图数据采集从传统采集到智能采集。高德地图副总裁董振宁介绍说,升级后将使地图的静态数据实现动态更新,地图数据每一刻都不一样。 ? ...

    BestSDK
  • 为凡人默哀 与 怎么从开发人员的角度,来看表设计和优化

    此篇的开始之前,默哀3分钟,某些伟大的凡人不是他位高权重,也不是他能一句话使整个世界停转,而是 陌生人 想起他,从心底为他的离去感到伤心,哪怕只有一秒。

    AustinDatabases
  • SAS进阶《深入解析SAS》之对多数据集的处理

    SAS进阶《深入解析SAS》之对多数据集的处理 1. 数据集的纵向串接: 数据集的纵向串接指的是,将两个或者多个数据集首尾相连,形成一个新的数据集。 据集的横...

    王小雷
  • 比原链研究院 | 一种弱同步网络假设下的门限签名系统

    近几年门限密码学在区块链系统里开始逐渐被应用,分为门限加密和门限签名,一般见于随机预言机、防审查、减少通信复杂度(HotStuff)、共识网络中防拜占庭(Hon...

    比原链Bytom
  • 比原链研究院 | 一种弱同步网络假设下的门限签名系统

    近几年门限密码学在区块链系统里开始逐渐被应用,分为门限加密和门限签名,一般见于随机预言机、防审查、减少通信复杂度(HotStuff)、共识网络中防拜占庭(Hon...

    比原链Bytom
  • SQL学习之HAVING过滤分组

    1、SQL除了能用Group By分组数据之外,SQL还允许过滤分组,规定包括那些分组,排除那些分组。例如,你可能想要列出至少有两个订单的所有顾客。为此,必须基...

    郑小超.
  • 利用数据接口,用python玩转新冠病毒疫情数据

    昨天在在凹凸数据公众号读者群中看到一个分享,标题非常非常感兴趣,于是晚上抽空研究了一下。

    朱小五

扫码关注云+社区

领取腾讯云代金券