前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >可视化爬虫SPY | 01

可视化爬虫SPY | 01

作者头像
mixlab
发布2018-04-16 17:09:57
1.5K0
发布2018-04-16 17:09:57
举报

今天把我去年开发等可视化爬虫SPY整理了下,虽然它还在demo阶段,但我已经在经常使用来爬取一些数据了,用的过程还是比较方便的,区别于其他纯代码的爬虫工具。

SPY用的数据库是mongod,我用的数据库管理工具是

mongobooster

本篇把SPY的基本使用流程介绍一下。

1、打开程序,界面是下图这样的:

右上图,我把目前的主要功能罗列了下,可以对照下;

一个爬取数据的过程,我分解为:

step1:

浏览目标网站,提取目标网站的网页结构

step2:

编写代码,这边用的是纯javascript,我封装了些简单的接口

step3:

输出爬取结果

2、接下来,我以百度的首页为例子,介绍整个使用流程,地址栏输入百度网址,然后点击刷新(下图红圈)(或回车)

3、打开后,界面如下图,会看到熟悉的chrome浏览器界面,默认应该是开启了chrome的调试工具(见下图)

如果没有自动开启chrome的调试栏,可以,点击菜单栏--view--toggle developer tools,开启(下图)。

4、用chrome的inspect功能。如果你学习过爬虫或者写过前端,那你应该很熟悉inspect功能,如果不熟悉可以查找chrome开发者工具的相关资料进行学习。

5、这边我要爬取首页的所有文章标题,发现都存在于一个

class="s-text-content"的div的h2里面。

6、切换到console栏,编写简单的js代码。

var doms=document.querySelectorAll('.s-text-content'); doms.forEach(function(dom,index){ var title=dom.innerText; console.log(title); });

回车,结果如下:

由于百度首页是异步加载的,这边我们把页面滑动到最下面,然后再运行下代码。

对于异步加载的页面,可以用spy的定时器功能。这个等回头我再补一篇教程。

7、把代码复制到step2里的输入框,然后运行。

代码语言:javascript
复制
var res=[];
var doms=document.querySelectorAll('.s-text-content');
doms.forEach(function(dom,index){ 
 var title=dom.innerText;
 res.push(title) 
});
spy.getResult(res)

这边调用了我封装的接口,spy.getResult(),把爬取的结果保存为json文件。

默认调用接口后会自动保存至Downloads路径的Spyfari+‘数字’路径。

如下图

可以点击下保存按钮,另存为其他路径。

----------------------

一个完整的爬取流程就是这样。

SPY的下载链接:

https://pan.baidu.com/s/1kUXk1BT

密码: bxaq

暂时只有MAC版本

使用过程有任何问题请跟本号联系。

后续我会把

定时任务;

自动下载图片/文件;

接入mongod数据库;

等内容介绍完整。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CLI 工具
云开发 CLI 工具(Cloudbase CLI Devtools,CCLID)是云开发官方指定的 CLI 工具,可以帮助开发者快速构建 Serverless 应用。CLI 工具提供能力包括文件储存的管理、云函数的部署、模板项目的创建、HTTP Service、静态网站托管等,您可以专注于编码,无需在平台中切换各类配置。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档