集搜客GooSeeker网络爬虫
标题:
GooSeeker API 例子——用JavaScript下载内容提取器
[打印本页]
作者:
Fuller
时间:
2016-6-10 07:44
标题:
GooSeeker API 例子——用JavaScript下载内容提取器
1,引言
本文讲解怎样用JavaScript使用
GooSeeker API接口下载内容提取器
,这是一个示例程序。什么是内容提取器?为什么用这种方式?源自GooSeeker的Python开源项目:通过生成内容提取器,大幅节省程序员时间。具体请参看《
内容提取器的定义
》。
请注意,如果本例的JavaScript代码是在网页上运行的,因为跨域问题,是无法实现非本站网页内容爬取的。所以,要运行在具有特权的JavaScript引擎上,比如,浏览器扩展程序、自研的浏览器、自己的程序中含有JavaScript引擎等。
本例为了实验方便,仍然放在网页上运行,为了绕开跨域问题,是把目标网页存下来并进行修改,把JavaScript插入进去。这么多人工操作,仅仅是为了实验,正式使用的时候需要考虑别的手段。
2,具体实现
注解:
引用 jQuery 类库 (jQuery-1.9.0 以上)
为了解决跨域问题,把目标网页预先保存到硬盘上
在目标网页中插入JavaScript代码
使用GooSeeker API,把内容提取器下载下来,内容提取器是一个xslt程序,下例使用了jQuery的ajax方法从api获得xslt
用xslt处理器作内容提取
下面是源代码
// 目标网页网址为http://m.58.com/cs/qiuzu/22613961050143x.shtml,预先保存成本地html文件,并插入下述代码
$(document).ready(function(){
$.ajax({
type: "get",
url: "http://www.gooseeker.com/api/getextractor?key=申请的appKey&theme=规则主题名",
dataType: "xml",
success: function(xslt)
{
var result = convertXml(xslt, window.document);
alert("result:" + result);
}
});
});
/* 用xslt将dom转换为xml对象 */
function convertXml(xslt, dom)
{
// 定义XSLTProcessor对象
var xsltProcessor = new XSLTProcessor();
xsltProcessor.importStylesheet(xslt);
// transformToDocument方式
var result = xsltProcessor.transformToDocument(dom);
return result;
}
复制代码
返回结果截图如下
[attach]941[/attach]
3,展望
同样可以用python来获取指定网页内容,感觉python的语法更加简洁,后续增加python语言的示例,有兴趣的小伙伴可以加入一起研究
。
4,相关文档
1,
GooSeeker API说明(1)--下载内容提取器
2,
GooSeeker API 例子——用Java下载内容提取器
5,集搜客GooSeeker开源代码下载源
1,
GooSeeker开源Python网络爬虫GitHub源
6,文档修改历史
1,
2016-06-10:V1.0
欢迎光临 集搜客GooSeeker网络爬虫 (http://120.55.75.51/doc/)
Powered by Discuz! X3.2