Вопрос по поводу универсального парсера

Я столкнулся с проблемой получения контента из нескольких блогов, которые я просканировал.

Я не уверен, в чем причина, но анализ одного или двух блогов с feedparser возвращает мне эту конкретную ошибку:

results = feedparser.parse(url)

  ent = []

  for entry in results.entries:
     e = {}
     e['title'] = entry.title
     e['content'] = entry.content[0].value

объект не имеет атрибута "контент"

или же

объект не имеет атрибута "ссылка"

Это не относится к остальным моим другим блогам. Приводит ли это к пустому содержанию записи?

1 ответ

Существует соответствие между тегами XML, используемыми в ленте, и атрибутами, доступными для записей в ленте новостей. Просмотрите источник одного из каналов, который вызывал проблему, и посмотрите, какие теги он использует. Вы можете обнаружить, что он не содержит содержимого для записей или что ссылки находятся в поле типа uid скорее, чем link,

Затем вам нужно будет написать свой код для обработки небольших изменений, либо с помощью try/catch или проверка конкретных атрибутов с hasattr,

Если вы разместите ссылку на один из рассматриваемых каналов, я мог бы предложить еще несколько советов.

Другие вопросы по тегам