Разбор DMOZ-дампов для запросов категорий в Python

В настоящее время я работаю над проектом, который включает в себя поиск "областей знаний", с которыми связано определенное ключевое слово. Я планирую сделать это с помощью 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)

и так далее...

У меня есть дамп структуры.rdf.u8 с сайта DMOZ. Кто-то сказал мне, что если мне не нужны URL-адреса, достаточно только этого файла (мне не нужны сайты, только категории, относящиеся к ключевым словам). Или мне тоже нужен файл содержимого?

Кроме того, я хотел бы знать, как лучше всего разобрать структурный файл, используя Python (любая библиотека). Я не имею никакого знания XML, хотя я хорошо разбираюсь в Python.

1 ответ

Я начал с https://github.com/kremso/dmoz-parser и создал простой фильтр тем: https://github.com/lawrencecreates/dmoz-parser/blob/master/sample.py

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()
Другие вопросы по тегам