专栏首页MixLab科技+设计实验室就叫Spyfari吧!|数据爬取及可视化系列

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

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

前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科技实验室。

本文分享自微信公众号 - 科技Mix设计Lab(Design-AI-Lab)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-12-03

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 简单爬虫(一):实现百度音乐下载

    现在我们听歌往往会集中在一个平台,但是往往很多歌曲只在一个平台独占,我们听自己几首想听的歌曲往往要在几个平台跳来跳去,正好现在在使用爬虫,在学着解析网页的时候,...

    云时之间
  • R语言爬虫与文本分析

    之前用python做过简单的爬虫与分析,今天尝试一下用R完成相应的功能。首先用R爬取了《了不起的麦瑟尔夫人》豆瓣短评作为语料,然后进行了词云绘制、关键词提取的基...

    三猫
  • 基于百度翻译的爬虫(二):页面篇

    在这一篇文章里,我将通过一个开源的HTML页面再去进行修改,来达到我们的使用要求,最终的目的是学会我们如何使用网页,来达到自己的需求. 首先,我们的环境是Pyt...

    云时之间
  • python爬虫入门(四)利用多线程爬虫

     多线程爬虫  先回顾前面学过的一些知识 1.一个cpu一次只能执行一个任务,多个cpu同时可以执行多个任务 2.一个cpu一次只能执行一个进程,其它进程处于非...

    zhang_derek
  • python爬虫——分析天猫iphonX的销售数据

      这篇文章是我最近刚做的一个项目,会带领大家使用多种技术实现一个非常有趣的项目,该项目是关于苹果机(iphoneX)的销售数据分析,是网络爬虫和数据分析的综合...

    Niucas_Mao
  • python爬虫入门(二)Opener和Requests

    Handler和Opener Handler处理器和自定义Opener opener是urllib2.OpenerDirector的实例,我们之前一直在使用ur...

    zhang_derek
  • 基于百度翻译的简单爬虫翻译-- coding:utf-8 --访问网址模拟浏览器创建文件夹用一个text文件保存,文件名用单词名字

    因为最近有数据需求,自己写了一个简单的小爬虫,但是这是第一版还是比较简陋,慢慢更新吧. ---- 能够实现的功能是查询英语单词和中文单词并且能够找出读音来,希望...

    云时之间
  • python爬虫学习:电商数据分析

    通常我们在使用爬虫的时候会爬取很多数据,而这些数据里边什么是有用的数据,什么是没用的数据这个是值得我们关注的,在这一篇文章里,我们将通过一个简单的爬虫,来去简单...

    云时之间
  • 静态爬虫与地址经纬度转换(python)

    “ 本文通过一个小例子,展示了用python进行静态爬虫的方法,并且将爬取下来的城市列表,通过调用百度地图api,返回对应经纬度。” ---- requests...

    三猫
  • python爬虫入门(三)XPATH和BeautifulSoup4

     XML和XPATH 用正则处理HTML文档很麻烦,我们可以先将 HTML文件 转换成 XML文档,然后用 XPath 查找 HTML 节点或元素。 XML 指...

    zhang_derek

扫码关注云+社区

领取腾讯云代金券