Excel催化剂网页采集功能,发布至今将近1年时间,因为使用人数不多,未能收到太多bug的反馈。 近期在做地图可视化功能过程中,想采集高德地图的轮廓线功能,发现被拦阻不给爬取内容。 耗费几天功夫,终于解决了Selenium操控Chrome浏览器下让反爬虫识别到的机器采集标识问题,修复后初测能够胜任采集任务,下篇具体讲解到相应的内容时再作分享。
在普通下载的情况下,因被识别到是爬虫作为,不给正确返回数据
在http下载的模板上,增加了一列referer参数,更能模拟到访问页面的跳转关系,爬取时,更稳定。
经过反爬虫标识的清除处理,让反爬虫无法快速识别到是Selenium控制谷歌浏览器,故最终把采集时间放得足够长,10秒钟一次,完美采集到最终想要的数据。
转眼间,Excel催化剂推出已经两周年,在此之际,献上数据时代最刚需的网页采集功能,无需苦苦寻觅各种工具,借助Excel催化剂过往数据处理、清洗功能,加上此轮的网页采集功能,一点不输于市面上的各种收费性的工具所能达到的效果。一贯地个人完全免费,欢迎参与转发活动获取使用权。
可能许多网友们不知道,笔者走向Excel的开发的领域,也是从网抓开始,从一开始的使用VBA简单写几行代码,获取到自己所需的内容,到学习使用了几款网页采集现成工具,到现在终于自己可以出一款亲手打造的最贴心的Excel插件功能。
在笔者接触过的工具中,有免费的Excel(PowerBI)的PowerQuery和Hack,和收费的火车采集器,火车浏览器,八爪鱼采集器,码栈,后羿采集器等。之前在公司的环境下,也购买过部分产品的付费功能体验过。
实在话,这些产品做出来,也能有不错的使用体验,特别是付费后全功能解锁后。当然若非企业的行为,单单个人为了一点点日常的便利性操作的小范围的采集工作,而购买一款上述的采集工具,的确有些不划算。
下图为八爪鱼的收费,按订阅式收费,不买断。年2000+才能真正用到较完整功能。
下图是火车浏览器的价格,算是买断版的,不过后续亦有服务费的概念。
不再举例,一句话总结,网页爬虫的领域,的确是众多企业里的刚需,市场上的产品也多数是收费性质,免费的功能被限制得较为厉害。
同时收费性功能,可能很大部分是指向自动化操作和偏重型的数据直接导入数据库或直接发布到网站这类采集与发布一条龙的功能。
对于数据分析工作者来说,最要紧的将数据采集到本地作分析,或一般性用户对企业内业务系统或第3方数据平台数据采集整合等功能,不见得非常贴合。
对网页采集方面的功能有兴趣的朋友们,可以结合上述提及的主流的采集工具,对其有一定的认识后,再回来看Excel催化剂的功能,有对比更有说服力。
能够将网页采集功能做到极致化,并且完全无任何功能限制,免费开放的,只Excel催化剂一家。最要紧的是,人人都可使用的低门槛保证。
在笔者开发过程中,已经陆续给大家演示过几大公认最难爬取平台的数据采集,如淘宝搜索页面采集,公众号后台数据采集等。
这些互联网数据大户,也是众多价值数据的来源地,对爬虫的爬取操作防范也是最为严苛的,各种异步加载技术,javaScript响应跳转及需登录访问等措施,在模拟浏览器方式来访问,都可逐一攻破,因模拟浏览器访问,已经十分接近人工打开网页的操作,没有人敢给人工访问轻易设防,增加访问难道,降低用户体验度的。
以下视频中,演示微信公众号自动化下载文件。
如下图,简单配置采集页,滚动屏数、间隔时长及采集内容信息,即可顺利采集到淘宝搜索的数据。
下图所示:淘宝搜索页中的关键信息,结构下呈现。
好几大主流采集工具,亦是顺势而为,采用此种方式来采集数据,但此种方式,采集效率不高是它的一大瓶颈,测试时感觉良好,但真正采集过程中,速度慢,不稳定是一大痛点。**
任何事务总是两面性,前面提及的各大工具的傻瓜式操作低门槛的代价是应用面的不广,就如同样一台相机,傻瓜相机拍照肯定比单反相机简单太多,但深入使用时,单反式的手动调节就显得非常必要。
在网页采集方面亦是如此,高级点的用户,可以自行抓包获取实际数据网址并批量构造类似网址进行访问。一次性直达目标,减少干扰。
Http的提交方式,是最为直接,最为快速的网页采集手段,但对用户要求也会有所提升。高级用户更为喜爱。同样地,局限性在于网站主的各种防范和封锁,能够有机会用到时最好,效率最高。
对标主流的采集工具,只剩下火车采集器和火车浏览器可满足,当然免费的PowerQuery和Hack也可以,不过门槛偏高,特别是要考虑到登录状态下的采集。
Excel催化剂在支持Http的方式访问,提供了极其丰富的功能辅助,不止于在提交网址访问的那一刻的提交信息的灵活配置,更有网址数据的批量生成,采集内容后的数据清洗如文本处理提取或删除指定内容,二次再提取(非常人性化地提取内容的同时,可将采集网页全或部分内容做保存,使用自定义函数的方式再提取)
数据除仅显示在网页上供采集外,另有大量的数据是直接通过下载的方式提供,这在各种管理后台、数据平台上尤为常见,如内部系统的提交相应条件后下载文件和微信、淘宝等数据后台上提供的详尽数据分析所需要的底层明细数据,都是通过下载的方式提供的。
数据下载功能,从最为简单的提供网址即可,到需要登录状态下才能下载,再到更复杂的大文件下载稳定性保障等,在Excel催化剂上都能一一解决。使用Http提交方式下载及使用模拟浏览器Chrome的方式,足于满足任何挑剔的下载任务,同时也兼顾了下载的性能及稳定性要求。
相较迅雷等工具批量下载,使用Excel催化剂可以下载同时按映射关系改名,下载链接的构造在Excel环境下大量的函数、填充及Excel催化剂已开发的替换功能,笛卡尔积等操作,使用体验超极棒。
众多的网页采集工具,仅限于采集网页上的内容,将其结构化为数据表结构的数据,有跟踪Excel催化剂过往推文的都知道,Excel催化剂将自身公众号的推文全部整理成册,变为PDF和Word版本的,放到百度云盘中供下载。
此类的需求,用于满足对现有网络世界的碎片化信息的整理,如公众号文章采集或其他一些仅发布在网络上的书籍连载,主题连载等内容。
原有网页上的排版样式通过网页另存为的方式得到固化,无需采集回来重新加工排版,方便人的阅读。并且可满足采集过程中,将干扰内容进行剪切删除,留下干净的内部部分。
如下图是原网页的展示
经过剪切后,将无用信息及广告去除,最后再转换为PDF格式,方便离线阅读和整体连贯性阅读。
将网页转换为PDF或图片,技术要点在第四点已有讲述。相对其他直接转换的方案,使用第四点的功能将其离线化到本地的html文件,再转PDF,更为灵活方便,特别是对长网页和有异步加载的页面,更能保障采集到的内容完整性。
当然也同样支持直接使用网址转换成PDF或图片。转换过程,更是能够多个网页合并为一个文件,灵活配置,非常好用。
纵观绝大部分的采集工具,就算有再强大的采集能力和防反爬能力,用户在配置自己想采集的页面及配置一些文件映射关系和时间延时等操作,不可避免在一些窗体、界面上作配置,其使用效果远远不及在Excel上的体验。
退一步来说,就算提供了导入文件的方式导入数据,也需来回在Excel上加工好数据再返回软件工具操作界面操作,繁琐在所难免。
如下图中左侧的网址配置及右侧的采集内容配置区,非常友好方便的Excel使用体验。
在第一点工作表环境的配置基础上,所做的一切配置,都可固化下来,供下次使用。
最要紧的是当同类型的模板再次使用时,复制工作表、单元格的操作将可说是最完美的使用体验,没有之一。
一般性的采集工具,虽然有那么丁点的智能识别内容,但面对稍复杂的页面,还是要有相应的xpath或CssSelector的知识。
在Excel催化剂的方案中,xpath有比网络上经常提及的xpath helper或fire path更优的方案,让用户更低门槛写出自己所需的xpath或CssSelector表达式。
同时兼容两种表达式的匹配,熟悉哪个用哪个,非常好用。
在其他采集工具中,需要考虑不同页面不同的应对策略,如详情页、列表页、搜索页、首页等,不同页面不同的规则适配。
在Excel催化剂的解决方案中,只需关注所需的内容归属一端还是多端,类似日常面对订单表和订单明细表的关系,一端的数据生成一行记录,多端的数据生成多行记录,任何页面规则适用,极大简化了页面匹配规则的编写。
通过手动调节的操作,不同页面的采集工作分步进行,充分利用好Excel极度友好的操作界面,复杂事物分解操作,是解决问题的首先之道!
下图中展示了Excel催化剂规则匹配的灵活之处,字段新增,字段类型分析,元素定位方式等,都能满足复杂的现实网页采集的需要。
在第四点的理念下,将复杂的多端或一端的大片段网页进行拆解,使最终提取的内容在相对简单的Html代码基础上进行提取,如下图中,多端的关系中,将整个列表页的一个单元的InnerHtml文本进行存储。
使用分而治之的理念,在小片段中通过自定义函数,进行所需信息的提取。
一整套的html的DOM对象模型的数据提取函数,整装待发,应对不种复杂的提取逻辑,相比普通的文本处理函数和正则处理方式,强大太多。
所有的配置信息在Excel中完成,并且数据采集结果,亦可在Excel工作表中完成,单个工作表数据量高达几十万条记录,一点问题都没有。再多数据,多开工作表,数据采集、处理、分析,主战场Excel中无需更改。
许多人还停留在Excel只能处理少量数据的认识上,Excel在新版本中,集成BI模块,轻松应对千万级数据,性能优越!跟着Excel催化剂走下去,眼界大开。
工具越强大,越需要学习成本去掌握它,Excel催化剂的网页采集功能,要想将其完整掌握并应用出它的威力,需要有基本的html网页知识,xpath表达式或CssSelector表达式知识,最好能掌握点正则表达式知识,同时兼顾有网页加载原理,网页数据抓包知识。
上述这些能力,是每个网页采集工具能够用好的必需知识,但Excel催化剂能够将之门槛拉到最低,对其所需的掌握程度要求最低,即能驾驭住Excel催化剂的网页采集功能。
因涉及的知识面过广,同时文字教程较为难以理解掌握,Excel催化剂会在后续同步推出网页采集功能的视频教程,在教程中将爬虫知识和插件的使用结合一起,给大家最低学习成本,产生最大化的产出收益,敬请期待。
视频讲解知识点大纲一览,最大程度不卖弄知识,只讲最有应用价值的二八原则下最刚需实用的知识。