文档中心

提供简单,强大的网页信息提取服务

URL2io.com 提供简单,强大的网页信息提取服务。所有服务都以 RESTful API 接口的形式提供,用于 Web 内容的结构化处理。 其中 URL2Article 用来提取并解析网页中的正文区域,实现网页正文提取标题提取发布日期提取下一页链接提取等。

每月所有服务提供的 RESTful API 接口调用超过6百万次。

以下的文档可以帮助你了解 RESTful API 的具体细节,也可以花 20 秒钟快速了解下如何开始使用。

Web 内容结构化.

URL2Article 用来提取并解析网页中的正文区域,实现网页正文提取标题提取发布日期提取下一页链接提取等。该服务以 RESTful API 接口的形式提供,下面分 HTTP 请求和 HTTP 响应两个部分来介绍如何调用该服务。

要调用 URL2Article API 只需要执行一个HTTP请求,支持通过URL2Article抓取网页并提取(通过 HTTP Get),支持提交网页html源码给URL2Article并提取(通过 HTTP Post)。 接口地址如下:


http://url2api.applinzi.com/article (体验版 API)
查看体验版的限制和支持的特性, 详情.
HTTP GET

支持通过URL2Article抓取网页并提取,提供以下参数:

参数必传描述
token开发者 token注册后可得
url要提取正文网页的网址,参考 URL Encoding
fields可选 指示API需要返回的额外字段,取值为
  • next 表示需要提取下一页链接
  • text 表示提取正文为纯文字格式
  • 多个值通过","号隔开,如fields=text,next。具体见下面的Response部分
    callback可选使用jsonp请求所需要的参数,跨域Ajax必需

    以下是一些调用 URL2Article API 的示例:各个语言中的使用请参考

    请求纯文本格式的正文内容,并返回下一页链接

    GET http://{{api_url}}/article?token=xxx&url=http%3A%2F%2Fwww.url2io.com%2Fdocs&fields=next,text

    请求html格式的正文内容,不返回下一页链接

    GET http://{{api_url}}/article?token=xxx&url=http%3A%2F%2Fwww.url2io.com%2Fdocs
    HTTP POST

    支持提交网页html源码给URL2Article并提取,请求参数与 HTTP Get 请求相同,需要额外在HTTP请求体中附加网页html源码,具体见以下示例: 各个语言中的使用请参考

    请求纯文本格式的正文内容,并返回下一页链接

    POST http://{{api_url}}/article?token=xxx&url=http%3A%2F%2Fwww.url2io.com%2Fdocs&fields=next,text
     
    <html>
    <head>
    <title>hello</title>
    </head>
    <body>
    <p>hello world</p>
    </body>
    </html>
    

    请求html格式的正文内容,不返回下一页链接

    POST http://{{api_url}}/article?token=xxx&url=http%3A%2F%2Fwww.url2io.com%2Fdocs
     
    <html>
    <head>
    <title>hello</title>
    </head>
    <body>
    <p>hello world</p>
    </body>
    </html>
    

    successful Response HTTP返回码 200

    如果调用 URL2Article 服务成功,返回的数据将包含如下字段:

    fields描述
    title 网页正文的标题
    content 网页正文,html格式
    url 要提取正文网页的网址 (已对请求时的 url 参数做解码处理)
    date 文章的发布日期。ISO 8601格式,2014-01-01 01:01:01。如果没有则返回null
    可选字段需要在Request的fields参数中指定,多个字段用","号隔开,如fields=text,next
    text 网页正文的纯文字格式。如果指定此字段,content字段将被替代
    next 网页的下一页链接,若没有则返回null

    支持的数据表现形式:

    • json (Content-Type: application/json; charset=utf-8)
    • jsonp (Content-Type: application/javascript)

    (application/json) representation as json.
    {
    "title": "URL2io API 文档",
    "content": "<section id="url2article"><div><h2><span></span> URL2Article API...",
    "next": null,
    "url": "http://www.url2io.com/docs",
    }
    (application/javascript) representation as jsonp.
    callback({
    "title": "URL2io API 文档",
    "content": "<section id="url2article"><div><h2><span></span> URL2Article API...",
    "next": null,
    "url": "http://www.url2io.com/docs",
    });
    

    failed Response HTTP返回码 500

    如果调用 URL2Article 服务失败一般有以下原因:

    错误类型出错原因
    PermissionError token认证错误;已超出使用配额
    HTTPError 抓取需要提取正文的网页时发生HTTP请求错误,如:404 Not Found
    URLError 抓取需要提取正文的网页时发生网址错误,如:Name or service not known
    TypeError 请求的资源不是html文档或xhtml文档,无法提取正文
    UnknowError 未知错误,很可能是服务器内部错误。具体看错误消息

    返回的数据将包含如下字段:

    字段描述
    error 表示错误类型,如:HTTPError, URLError,... 具体见上表
    url 要提取正文网页的网址
    msg 错误消息, 错误的具体信息
    code HTTP states code (仅限于HTTPError)
    type 此次请求的资源类型,MIME格式 (仅限于TypeError)

    支持的数据表现形式:

    • json (Content-Type: application/json; charset=utf-8)
    • jsonp (Content-Type: application/javascript)

    PermissionError
    {
    "error": u"PermissionError",
    "url": "http://api.url2io.com/xxx",
    "msg": u"invalid token or quota limit"
    }
    HTTPError
    {
    "error": "HTTPError",
    "url": "http://api.url2io.com/xxx",
    "msg": "cant't get this page",
    "code": 404,
    "type": "image/jpeg",
    }
    URLError
    {
    "error": "URLError",
    "url": "http://api.url2io-dsjkl.com",
    "msg": "Name or service not known",
    }
    TypeError
    {
    "error": "TypeError",
    "url": "https://raw.github.com/url2/url2-app-samples/master/README.md",
    "msg": "not html or xhtml resource",
    "type": "text/plain; charset=utf-8",
    }
    UnknowError
    {
    "error": "UnknowError",
    "url": "",
    "msg": "can't get this page",
    }
    


    ... and many others!


    
    

    Feedback