本帖最后由 ippfon 于 2016-6-16 11:38 编辑

1,接口名称
下载内容提取器

2,接口说明
如果您想编写一个网络爬虫程序,您会发现大部分时间耗费在调测网页内容提取规则上,不讲正则表达式的语法如何怪异,即便使用XPath,您也得逐个编写和调试。如果要从一个网页上提取很多字段,逐个调试XPath将是十分耗时的。通过这个接口,你可以直接获得一个调测好的提取器脚本程序,是标准的XSLT程序,您只需针对目标网页的DOM运行它,就能获得XML格式的结果,所有字段一次性获得。


这个XSLT提取器可以是您用MS谋数台生成的,也可以是其他人共享给您的,只要您有读权限,皆可下载使用。

用于数据分析和数据挖掘的网络爬虫程序中,内容提取器是影响通用性的关键障碍,如果这个提取器是从API获得的,您的网络爬虫程序就能写成通用的框架。请参看GooSeeker的开源Python网络爬虫项目

3,接口规范


3.1,接口地址(URL)
http://www.gooseeker.com/api/getextractor

3.2,请求类型(contentType)
不限

3.3,请求方法
HTTP GET

3.4,请求参数
  • key  必选:Yes;类型:String;说明:申请API时分配的AppKey
  • theme 必选:Yes;类型:String;说明:提取器名,就是用MS谋数台定义的规则名
  • middle 必选:No;类型:String;说明:规则编号,如果相同规则名下定义了多个规则,需填写
  • bname 必选:No;类型:String;说明:整理箱名,如果规则含有多个整理箱,需填写

注释:请参看GooSeeker网络爬虫术语解释:http://www.gooseeker.com/doc/article-57-1.html

3.5,返回类型(contentType)
text/xml; charset=UTF-8

3.6,返回参数
HTTP消息头中的参数,如下:
  • more-extractor  类型:String;说明:相同规则名下有多少个提取器。通常只在可选参数没有填写的时候需要关注这个参数,用以提示客户端有多个规则和整理箱,客户端自己决定是否要在发送请求时携带明确的参数

3.7,返回错误信息
  • 消息层错误以HTTP 400返回,比如,URL中的参数不符合本规范
  • 应用层错误以HTTP 200 OK返回,具体错误码用XML文件放在消息体中,XML结构如下:
    1. <return>
    2.     <code>具体的错误码</code>
    3. </return>
    复制代码

  • 具体的code值如下:
    1. keyError:权限验证失败
    2. paramError:URL中传来的参数有误,比如,参数名称或值不正确
    3. empty:非错误状态,而是请求的提取器是不存在的,比如,某个抓取规则并没有创建整理箱,则返回empty
    复制代码


4,用法范例(python语言)
1,Gooseeker会员中心申请key
2,提取器名获取参考 1分钟快速生成用于网页内容提取的xslt
示例代码:
  1. # -*- coding: utf-8 -*-
  2. from urllib import request

  3. url = 'http://www.gooseeker.com/api/getextractor?key=您的key&theme=您的提取器名'

  4. resp = request.urlopen(url)
  5. content = resp.read()
  6. if(content):
  7.     print(content)
复制代码

5,相关文档
1, Python即时网络爬虫项目: 内容提取器的定义

6,集搜客GooSeeker开源代码下载源
1, GooSeeker开源Python网络爬虫GitHub源

7,文档修改历史
1,
2016-06-03:V1.0






举报 使用道具
| 回复

共 0 个关于本帖的回复 最后回复于 2016-6-3 14:21

您需要登录后才可以回帖 登录 | 立即注册

精彩推荐

  • Gephi社会网络分析-马蜂窝游记文本分词并同
  • Gephi社会网络分析-基于马蜂窝游记文本以词
  • 知乎话题文本根据词语间距筛选后生成共词矩
  • 马蜂窝游记文本分词后以词语间距为筛选条件
  • 学习使用apriori算法挖掘关联关系

热门用户

GMT+8, 2024-3-28 16:50