01 2014 档案

摘要:做数据抓取和分析的各位亲们, 有没有遇到下面的难题呢?- 如何从各式各样的网页中提取正文!?虽然可以用SS为各种网站写脚本做解析, 但是互联网各类网站何止千万种, 纵使累死我们也是做不完的. 这里我给大家热情推荐使用Readability来彻底解决这个难题 (呵呵, 不是做广告, 真心热爱这个好东东)Raedability网站(www.readability.com)最引以为傲的就是其强大的解析引擎, 号称世界上最强大的文本解析神器. Safari中的"阅读器"功能就是用它来实现的! 他们还提供了API可以调用解析器的功能, 而我做了一个c#的代理类来方便大家使用.开始之前 阅读全文
posted @ 2014-01-22 23:06 Ivan Zou 阅读(3728) 评论(3) 推荐(1)
摘要:最近一个项目中需要用到过往的天气数据, 我找到了天气后报这个网站 (www.tianqihoubao.com), 并在SS中完成了相关采集, 和大家分享一下.首先分析这个网站提供了两种信息:1. 省市关系2. 天气记录对应的我们创建数据结构:[Serializable]public class Province{ public string ProvinceName; public string ProvinceUrl;}[Serializable]public class City{ public Province Province; public string Ci... 阅读全文
posted @ 2014-01-22 11:28 Ivan Zou 阅读(5270) 评论(4) 推荐(2)
摘要:其实问题很简单: 我的产品页面在http://www.gdtsearch.com/products.spiderstudio.docapi.htm, 这是一个静态页面; 而我所有的技术博客都在博客园中. 为了让访问者能够直接在产品页面中看到我最新的技术博客, 我将博客页面用IFrame嵌入到了产品页面中:这效果简直是,,, 矮矬穷, 如何叫人能够忍受? 于是乎一个改造工程开始了, 基本思路简单清晰:1. 用SS编写采集脚本, 并编译成DLL2. 用NodeJS编写一个WebApi, 其中调用上面的DLL来获取数据, 然后提供JSONP的结果集3. 在产品页面中用jquery.Ajax来异步加载 阅读全文
posted @ 2014-01-12 13:58 Ivan Zou 阅读(1811) 评论(7) 推荐(1)
摘要:SS对部分网页中引用的jquery.js有冲突, 会造成网页部分JS效果无法正常执行. 本次版本对其进行了修正, 优化了浏览器的脚本引用机制, 修正了这个BUG. 阅读全文
posted @ 2014-01-09 22:39 Ivan Zou 阅读(503) 评论(0) 推荐(0)
摘要:本次更新包含两项改进:1. 优化了设置菜单, 去掉了一些不必要的浏览器行为设置选项:取而代之的是在脚本中由用户自行设置:public void Run() { Default.CaptureNewWindow = true; //强制在本窗口打开所有页面 Default.ScriptErrorsSuppressed = true; //屏蔽JS错误 Default.AlertSuppressed = true; //禁止对话框 - Alert Default.ConfirmSuppressed = true; //禁止对话框 - Confirm Default.... 阅读全文
posted @ 2014-01-08 12:48 Ivan Zou 阅读(479) 评论(0) 推荐(0)
摘要:当初为了在SS中设置数据仓库这个功能, 团队中有一些争议. 主要是集中在为啥要提供这个功能, 到底有没有必要等问题上, 但最终这个功能还是上了. 相信初用者也会有同样的疑问, 我想介绍一下数据仓库的一些妙用, 也顺便为大家解析一下这个疑惑.用处1, 临时保存中间数据:以采集网易国际新闻为例. 打开http://news.163.com/world/, 可以看到这是一个列表页面, 每页有几十条新闻, 还有很多很多页. 每条新闻点开之后可以看到正文, 这个正文就是我们最终要采集的内容. 如果在一个脚本中完成刚才的流程, 会显得有点复杂, 纵使各位技术高超, 估计开始之前也要构思一番. 我推荐一个简 阅读全文
posted @ 2014-01-06 15:54 Ivan Zou 阅读(724) 评论(1) 推荐(0)
摘要:SS是Spider Studio (采集工作站) 的简称, 这是由GDT团队开发的一款互联网数据采集开发工具. 它以浏览器为基础, 运用JQuery技术, 结合脚本化C#的强大功能, 能够轻松解决各类数据采集问题.首先下载SS:http://www.gdtsearch.com/products.spiderstudio.htm安装完成后运行起来界面如下:1. 顶部菜单栏 包含浏览器地址栏, 工作区展开/折叠开关, 页面元素选择器开关, Html查看按钮, 设置和帮助菜单栏中大部分功能都很容易理解, 我重点说说 "设置" 菜单的子菜单:浏览器选项 - 打开IE的设置页, 能够 阅读全文
posted @ 2014-01-06 15:12 Ivan Zou 阅读(2458) 评论(0) 推荐(0)
摘要:最近遇到的一个需求是如何让程序自动登录淘宝, 获取用户名称等信息. 其实这个利用SS (SpiderStudio的简称) 实现起来非常简单. 十数行代码就可以做到非常完善:1. 运行SS (下载地址), 编写脚本打开淘宝登陆页面:Default.Navigate("https://login.taobao.com/member/login.jhtml");Default.Ready();2. 找到用户名, 密码的输入框, 输入信息, 点击登录按钮:var user = Default.SelectSingleNode("#TPL_username_1") 阅读全文
posted @ 2014-01-03 00:00 Ivan Zou 阅读(6974) 评论(12) 推荐(8)
摘要:数据仓库是集成在Spider Studio中的一个重要功能, 利用它可以非常方便的保存采集到的数据, 然后导出或者在其他脚本中再利用.数据仓库的全部功能都集成在DataManager这个静态类里面, 基本用法如下:1. DataManager.Newvoid New(string datasetName)调用此方法会创建一个名为datasetName的数据集, 注意这里datasetName是不区分大小写的. 创建的同时该数据集会自动显示在数据仓库管理器界面中, 如:public void Run(){ DataManager.New("test_data");}运行此代码 阅读全文
posted @ 2014-01-01 23:31 Ivan Zou 阅读(1243) 评论(0) 推荐(0)