前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >就叫Spyfari吧!|数据爬取及可视化系列

就叫Spyfari吧!|数据爬取及可视化系列

作者头像
mixlab
发布2018-04-17 11:10:14
9131
发布2018-04-17 11:10:14
举报

这是《数据爬取及可视化系列》的第四篇文章。

前3篇文章,可以查阅:

01基于位置的用户画像初探

02技能之谷歌Chrome爬虫

03 使用Echarts制作可视化图表


玩了一个月的electron,倒腾了几稿原型+demo开发,不断的推翻自己,最终,我整了一款桌面APP:

Spyfari

用javascrip编写爬虫规则,

可视化的爬虫软件。


我拿它,对著名的p站爬取了一些数据,

在这里我们先回顾下爬虫爬取数据的步骤:

1、通过浏览器查看网站结构,提取出需要获取数据所在的标签,这里跟各种element的节点打交道,需要解释网页标签,用到类选择、id选择、父节点、子节点、正则表达式等等。如果是用python有相应的库,比如BeautifulSoup; 2、处理自动登录,验证码等。 3、获取到数据,或者url,数据存入本地或者数据库 4、根据url再次爬取其他数据,或者根据url下载文件(包括图片、视频、文本、网页等等)。

大致是这么个过程。

有2个事情比较头疼:

1、注册登录账号才能访问 2、各种验证码

登录的话获取登录后的cookie,以后每次爬取的时候,模拟即可。

但是验证码的话,如果碰到变态的验证码,就哭吧。。。

像下面这种:

反正我是没办法攻破。。

不过用上Spyfari,人工点击下,这是很容易的事。

下次再登录,登录状态已经保存了,哈。

除非每一步都要验证码,这种情况不太可能发生吧,毕竟牺牲了用户体验哈。

这就是可视化的优点,各种网站都可以爬取

我今天先把p站的各个排行榜上的信息爬下来了,还下了图片~

喜欢二次元的朋友应该会喜欢看吧~~

p站的一些排行榜,我都保存为一个个的json文件了,每天都更新排名,看来可以定时去爬取了。

上面那个pixivRank.js是爬取的代码,我会打包进spyfari里的,作为例子。

初次接触可以直接在spyfari里打开,运行下,体验下爬取数据的乐趣

下面是我爬取的数据存放的格式:

主要爬取了名次、作者、图片url、还有投稿日期;

这个页面是异步加载的,需要不断的滑动到页面最底端才能获取得到数据,但是对于spyfari来说,这个还算是很容易的,毕竟是可视化的爬虫工具,哈,可以做到完全模拟人工操作,过程还是可见的

其中,投稿日期是异步获取的,需要模拟鼠标点击,然后获取数据。

Spyfari处理异步加载的内容很容易。

这是今天修完Spyfari的一些bug之后,测试代码下载的图片。


下面看看工作页面吧~

最上面一栏是:

定时任务、云端代码共享、操作指引、关闭spyfari。

都还没有进一步开发,待我下礼拜继续完善。

接下来是:

1、需要爬取数据的网址控制,调用的是我精简的chrome浏览器,毕竟爬取数据第一步是分析网页结构啊,要方便的调试代码,还要方便定位标签。

2、编写爬取代码的地方,我集成了一个编辑器。简单好用,在右侧浏览器调试好代码,直接拷过来,保存在本地或者打开本地已有的爬取代码。

代码编写完后,直接点击运行按钮。

愉快的工作起来了,右边还可以实时看到运行的情况,包括一些模拟登录啊,模拟鼠标点击、滑动动作啊~一目了然。

3、是一些爬取的结果输出,还有log的输出,我整合了一些api,方便使用。

如果有下载动作,比如下载图片,也会自动得打印出来。后续会再完善进度提示的功能。

下面这张图是下载的信息输出:

最后,

Spyfari

第一个实验版本安装包已准备好,暂时是mac版。


设计+科技=自在园O设计Mix科技实验室。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-12-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 科技Mix设计Lab 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
验证码
腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档