【发布时间】: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。