【问题标题】:PHP - Converting XML/RDF into HTMLPHP - 将 XML/RDF 转换为 HTML
【发布时间】:2016-12-31 03:50:48
【问题描述】:

在此网址上: http://www.ontobee.org/ontology/HP?iri=http://purl.obolibrary.org/obo/HP_0001065

当我使用 Chrome 检查元素时,我可以看到 HTML:

<div xmlns="http://www.w3.org/1999/xhtml" id="mainbody">
      <link href="http://www.ontobee.org/public/css/ontology.css" rel="stylesheet" type="text/css" />
      <script src="http://www.ontobee.org/public/js/ontobee.ontology.js"></script>
      <h3 class="title">
        <a href="http://www.ontobee.org/ontology/HP"> human phenotype ontology</a>
      </h3>
      <form action="http://www.ontobee.org/search" method="get" id="keyword-search">
        <input name="ontology" id="ontology" type="hidden" value="HP" />
        <div class="ui-widget">
          <strong>
            <label for="keywords">Keywords: </label>
          </strong>
          <input id="keywords" name="keywords" size="30" />
          <input type="submit" name="submit" value="Search terms" />
        </div>
      </form>
      <p class="section-title">
  Class: <span class="section-title-value">Striae distensae</span></p>
      <div class="iri">...

我看到了 HTML,但是当我查看源代码时,我得到了 XML:

    <!-- 
    ///////////////////////////////////////////////////////////////////////////////////////
    //
    // Annotation properties
    //
    ///////////////////////////////////////////////////////////////////////////////////////
     -->

    <AnnotationProperty rdf:about="http://www.geneontology.org/formats/oboInOwl#hasRelatedSynonym"/>
    <AnnotationProperty rdf:about="http://purl.obolibrary.org/obo/IAO_0000115"/>
    <AnnotationProperty rdf:about="http://www.geneontology.org/formats/oboInOwl#hasDbXref"/>
    <AnnotationProperty rdf:about="http://www.geneontology.org/formats/oboInOwl#inSubset"/>
    <AnnotationProperty rdf:about="http://www.geneontology.org/formats/oboInOwl#hasAlternativeId"/>
    <AnnotationProperty rdf:about="http://www.geneontology.org/formats/oboInOwl#hasOBONamespace"/>

我需要一种以编程方式将 RDF/XML 转换为 HTML 的方法。有没有简单的方法来做到这一点?我需要找到他们的 XML 转换文件吗?

注意:我需要这样做的原因是因为我需要下载一批这些文档。我需要抓取数据。他们有一个 SPARQ API,但我已经写了一个爬虫,认为我正在查看的是一个 HTML 文档,我很少只是从头到尾写一些东西而不在进行过程中对其进行测试,但这次我这样做是出于某种原因。由于浏览器能够输出 HTML,因此必须有一种方法可以通过浏览器插件来完成。

【问题讨论】:

  • 让我直截了当地说:您以机器可处理的结构化格式 (RDF/XML) 取回数据,但您希望将其转换为人类可读的格式 (HTML),所以然后你可以... 把它变成结构化/机器可处理的东西?我知道您在意识到自己的错误之前就已经开始这样做了,但即便如此,放弃您的爬虫并编写一个简单的 RDF- 可能仍然更有效(并且从长远来看肯定会更好)而是处理客户端。
  • 是的,我有点超前了,在测试之前编写了整个脚本,包括每个细节。通常我会在进行过程中进行测试。你说得对,我应该放弃剧本。解析 XML 应该相对容易。
  • 这可行,但使用实际的 RDF 库,如 EasyRDF,可能会更容易。 YMMV。
  • 谢谢。当我开始这样做时,这可能会为我省去很多麻烦。我真的很了解 RDF。

标签: php html xml rdf


【解决方案1】:

页面上的 RDF 用于显示的类。所以,不,您不能从 RDF 设计页面的 HTML。

如果您正在寻找页面本身的 HTML,您可以更轻松地从浏览器的检查工具中获取 HTML。

【讨论】:

  • 问题是我需要大量获取这些页面。也许有一个 chrome 或 firefox 插件可以让我下载成批的 HTML 以获取页面列表。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-20
  • 2014-11-15
  • 2011-05-18
  • 1970-01-01
相关资源
最近更新 更多