在Python中解析类别查询的DMOZ转储

时间:2013-08-04 15:16:41

标签: python xml parsing ontology dmoz

我目前正在开展一个项目,该项目涉及找到与某个关键词相关的“知识领域”。我打算用DMOZ做到这一点。 例如,'布拉德皮特'给出了

Arts: People: P: Pitt, Brad: Fan Pages (10)

Arts: People: P: Pitt, Brad: Articles and Interviews (5)

Arts: People: P: Pitt, Brad (4)

Arts: People: P: Pitt, Brad: Image Galleries (2)

Arts: People: P: Pitt, Brad: Movies (2)

依旧......

我有来自DMOZ网站的structure.rdf.u8转储。有人告诉我,如果我不需要URL,只需要这个文件就足够了(我不需要网站,只需要与关键字有关的类别)。或者我还需要内容文件吗?

此外,我想知道使用Python(任何库)解析结构文件的最佳方法。虽然我对Python很好,但我对XML没有任何了解。

1 个答案:

答案 0 :(得分:1)

我从https://github.com/kremso/dmoz-parser开始 并做了一个简单的主题过滤器: https://github.com/lawrencecreates/dmoz-parser/blob/master/sample.py#L6

class LawrenceFilter:
  def __init__(self):
    self._file = open("seeds.txt", 'w')

  def page(self, page, content):
      if page != None and page != "":
          topic = content['topic']
          if topic.find('United_States/Kansas/Localities/L/Lawrence') > 0 :
              self._file.write(page + "\n")
              print "found page %s in topic %s" % (page , topic)

  def finish(self):
    self._file.close()