惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Attack and Defense Labs
Attack and Defense Labs
The GitHub Blog
The GitHub Blog
C
Check Point Blog
博客园_首页
MongoDB | Blog
MongoDB | Blog
N
Netflix TechBlog - Medium
F
Full Disclosure
Microsoft Security Blog
Microsoft Security Blog
爱范儿
爱范儿
Recent Announcements
Recent Announcements
阮一峰的网络日志
阮一峰的网络日志
G
GRAHAM CLULEY
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
Threat Research - Cisco Blogs
C
Cybersecurity and Infrastructure Security Agency CISA
V
Vulnerabilities – Threatpost
K
Kaspersky official blog
博客园 - 司徒正美
S
Schneier on Security
T
The Exploit Database - CXSecurity.com
Project Zero
Project Zero
云风的 BLOG
云风的 BLOG
Cisco Talos Blog
Cisco Talos Blog
Know Your Adversary
Know Your Adversary
雷峰网
雷峰网
V
V2EX - 技术
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Spread Privacy
Spread Privacy
罗磊的独立博客
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
S
Security Affairs
SecWiki News
SecWiki News
Schneier on Security
Schneier on Security
O
OpenAI News
Jina AI
Jina AI
PCI Perspectives
PCI Perspectives
Cyberwarzone
Cyberwarzone
Y
Y Combinator Blog
Apple Machine Learning Research
Apple Machine Learning Research
B
Blog RSS Feed
I
InfoQ
D
Docker
P
Palo Alto Networks Blog
Recorded Future
Recorded Future
M
MIT News - Artificial intelligence
博客园 - Franky
B
Blog
Scott Helme
Scott Helme
博客园 - 叶小钗
D
DataBreaches.Net

博客园 - Ivan Zou

示例 - 17行代码实现一个简单高效的多线程蜘蛛程序 示例 - 10行代码在C#中获取页面元素布局信息 Spider Studio 新版本 (20140225) - 设置菜单调整 / 提供JQueryContext布局相关的方法 示例 - 如何在NodeJS中调用SS生成的DLL 示例 - 25行代码等价实现 - 借助Nodejs在服务端使用jQuery采集17173游戏排行信息 Spider Studio 新版本 (码年吉祥版) - 浏览器视图 / 脚本库上线! 分享: 利用Readability解决网页正文提取问题 分享一个天气历史数据的采集脚本 分享 - Hybrid 开发将博客园集成到自己的网站中 - 效果高大上 :) Spider Studio 新版本 (20140109) - 修复浏览器对部分网页不支持的BUG Spider Studio 新版本 (20140108) - 优化设置菜单 / 生成程序集支持版本号 示例 - 数据仓库的妙用 C# 脚本代码自动登录淘宝获取用户信息 API - 使用数据仓库 - 基础篇 示例 - 如何在ASP.NET中应用Spider Studio生成的DLL? 示例 - 如何在多线程中应用SpiderStudio生成的DLL? 示例 - 如何在Console应用程序中应用SpiderStudio生成的DLL? C#中另辟蹊径解决JSON / XML互转的问题 Spider Studio 新版本 (x-mas) - 可以引入第三方程序集, 可以将脚本生成为DLL
Spider Studio 界面功能布局
Ivan Zou · 2014-01-06 · via 博客园 - Ivan Zou

SS是Spider Studio (采集工作站) 的简称, 这是由GDT团队开发的一款互联网数据采集开发工具. 它以浏览器为基础, 运用JQuery技术, 结合脚本化C#的强大功能, 能够轻松解决各类数据采集问题. 

首先下载SS: http://www.gdtsearch.com/products.spiderstudio.htm

安装完成后运行起来界面如下:

1. 顶部菜单栏  

包含浏览器地址栏, 工作区展开/折叠开关, 页面元素选择器开关, Html查看按钮, 设置和帮助

菜单栏中大部分功能都很容易理解, 我重点说说 "设置" 菜单的子菜单:

  • 浏览器选项 - 打开IE的设置页, 能够对IE进行各项设置, 比如不显示图片, 不显示flash等. 
  • 保存日志文件 - 如果勾上则会将"采集输出"和"浏览器日志"中显示的内容自动保存到log文件中, 用于进行分析诊断. 

log文件都存放在安装目录下的"Log"子目录中, 文件名带有日期信息:

注: 其中browser.yyyymmdd.log是"浏览器日志", spider.yyyymmdd.log是"采集输出日志"

  • 关闭所有标签页 - 在SS中能够用脚本管理多个标签页, 从而能够实现同时打开多个URL进行抓取, 最后将结果合并到一起的应用. 此部分具体用法将在后面专门撰文介绍.
  • 数据仓库 - 自动刷新 - 开关, 告诉SS是否实时显示数据仓库中数据的变化, 如果打开, 则当数据更新非常频繁时会对性能造成一定影响.
  • 添加/删除程序集 - 用来管理第三方程序集和代码中的using区域. 

2. JQuery浏览器

这是一个为SS特别定制的浏览器. 它以IE为内核, 集成了JQuery技术, 提供了一系列DOM检索功能. 具体用法请阅读: API - 使用Default对象 - 基础篇

3. 工作区

工作区是SS最核心的一个功能区域. 其中包括 节点选择器, 脚本编辑器, 日志窗口, 监视窗口, 即时命令窗口和数据仓库管理界面. 

3.1. 节点选择器

当我们在顶部菜单栏中点击 "选择页面元素" 之后, 用鼠标在页面移动时就会有一个蓝色方框自动跟随. 当我们在蓝色方框点击鼠标时 (左右键均可), 方框将停留在选中的元素上, 与此同时节点选择器会显示选中元素的JQuery表达式:

JQuery表达式的每个节点都是一个按钮, 点击后会出现节点的基本信息和相关功能菜单项.

3.2. 脚本编辑器, 日志窗口

这部分很简单, 我只介绍一些值得一提的应用技巧:

3.2.1. 最大化脚本编辑器 - 当编写的脚本很多很长时, 我们就希望能够最大化脚本编辑器, 从而显示更多内容. 通过双击标题栏可以做到这一点:

注: "采集输出" 窗口也提供了同样功能.

3.2.2. 脚本编辑器提供了代码智能感知的功能 (体验版只有最基本的)

3.2.3. CTRL + F 可以在脚本编辑器中查找; CTRL + H 是替换

3.3. 监视窗口

在节点选择器点击节点, 弹出菜单中的第一项就是 "监视", 点击之后就可以在监视窗口中看到详细信息, 如下:

3.4. 即时命令窗口

在即时命令窗口中我们可以编写简单代码片段并运行查看效果. 这个功能在编写脚本的时候非常有用, 可以让我们方便的测试自己使用的JQuery表达式是否有效:

3.5. 数据仓库管理界面

数据仓库也是SS中的一个重要模块, 它提供了一个非常方便的临时数据保存场所. 有时候我们需要编写多个脚本来完成采集任务, 十分典型的场景就是网站中有一种列表页面, 每页m个链接, 共n多页. 我们的目标是采集每一个链接的详细页面, 共m * n个. 为了快速完成采集, 我们会先行采集列表页面, 将所有链接保存在数据仓库中, 然后用采集精灵并行采集详细页面, 以最快的速度完成任务. 此时数据仓库除了能够保存所有链接外, 还能够通过游标来协调各个采集精灵同步工作. 

利用管理界面, 我们能够新建数据集, 重置游标, 清空或删除数据集, 还能够导出为CSV或者XML文件. 

SS还提供了一套API让我们可以从脚本访问数据仓库, 具体用法请阅读: API - 使用数据仓库 - 基础篇