Разбор 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()