【问题标题】:Whats the fastest way to extract "external links" data from dbpedia (or wikipedia)?从 dbpedia(或维基百科)中提取“外部链接”数据的最快方法是什么?
【发布时间】:2012-12-30 18:42:37
【问题描述】:

我需要从 jquery(首选)或 php 的数组中获取特定 Wikipedia 文章的“外部链接”链接。我已经浏览了 wikipedia api,但似乎没有办法做到这一点。似乎有一种方法可以在 dbpedia 中执行此操作(dbpedia.org/resource/etc 页面显示“dbpedia-owl:wikiPageExternalLink”部分),但我从未使用过 sparkql,也不知道如何在与 jquery 或 php 结合使用。

谁能帮帮我?

【问题讨论】:

    标签: wikipedia dbpedia wikipedia-api


    【解决方案1】:

    http://dbpedia.org/sparql 的 sparql 查询表单中尝试以下查询

    select ?link where 
    {
     <http://dbpedia.org/resource/Rome> 
     <http://dbpedia.org/ontology/wikiPageExternalLink> 
     ?link
    } LIMIT 100
    

    然后查看结果页面的浏览器地址栏,了解如何通过 GET 对查询进行编码。

    否则你可以看看http://json.it.dbpedia.org

    玩得开心!

    【讨论】:

    • 好的,这肯定对我有进一步的帮助!现在的问题是,当我从您的第一个链接中选择“json”时,它不会在浏览器中打开它(它只是下载文件),所以我无法真正看到 json GET 是如何工作的。另一方面,第二个链接似乎没有提供仅获取“wikiPageExternalLink”链接的选项。如果必须,我想我可以处理整个文件并提取这些链接,尽管这将是一种耻辱!如果你能在这里进一步帮助我,那就太好了!
    • 在 Jsonpedia 上,您可以:在 filter 字段中输入 __type:link,然后选择 extractorsStructure 按钮.在 dbpedia 上,您可以选择 html 输出,查看 URL 并调整 GET 查询字符串中的参数以获取 json。
    【解决方案2】:

    您可能正在寻找 prop=extlinks。

    这是一个获取英语维基百科中“德国”文章中所有链接的示例:

    https://en.wikipedia.org/w/api.php?action=query&prop=extlinks&format=json&ellimit=5000&titles=Germany

    您可以使用 API 沙箱对其进行调整:https://en.wikipedia.org/wiki/Special:ApiSandbox

    【讨论】:

    • 谢谢,但我希望它这么简单 :-(。我知道“prop=extlinks”,但这会给你页面上的每一个链接。我特别需要那些在文章末尾的“外部链接”部分。
    【解决方案3】:

    您可以单独使用带有文本版本的转储 [0],然后解析文本。例如,您可以在“== External links ==”之后的文本中搜索外部链接,或者外部链接的其他模板[1]。

    0 - http://dumps.wikimedia.org/

    1 - http://en.wikipedia.org/wiki/Template:External_links

    【讨论】:

      【解决方案4】:

      如果你想从维基百科(所有页面)中提取所有外部链接,有一个工具可以做到这一点:wikipedia-externallinks-fast-extraction

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-07-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-04
        • 1970-01-01
        相关资源
        最近更新 更多