Инструмент для сохранения веб-страниц в формате XML

Я хочу создать автономное приложение для отображения информации о наркотиках. Информация, которую мне нужно использовать, уже доступна в Википедии . Но на этой странице нужно сохранить так много подстраниц (более 1000), что, на мой взгляд, выполнить эту задачу вручную невозможно.

Также обратите внимание, что я должен сохранять каждое лекарство в отформатированном элементе в формате XML (с определенной схемой). Сейчас ищу средство для облегчения этой задачи. Существует ли вообще такой инструмент или нет?

Мои требования

  1. Получает HTML-страницы и создает XML-документ
  2. Желательно бесплатно
  3. на базе Windows или Linux
(a) Значит, инструменту не нужно загружать/выбирать все статьи Википедии о наркотиках, верно? (b) Какую схему XML следует использовать или следует использовать элементы HTML с пространством имен HTML? (c) Должен ли инструмент работать со списком URL-адресов, только с одним URL-адресом, с локальным файлом и полнотекстовым вводом?
@unor (a) Если так, то лучше (b) Простая схема XSD, я думаю, это не имеет значения (c) Работа со списком URL-адресов лучше, но поддержка файлов и других документов также приемлема (d) Спасибо за ваше отклик

Ответы (2)

Сомневаюсь, что вы найдете готовый инструмент для этой цели, это ИМХО слишком специфичное требование. Но существует множество фреймворков для каждого основного языка программирования, которые помогут вам самостоятельно реализовать веб-«скребок» или «краулер».

Например, при поиске в Google «веб-сканер python» сразу же обнаружился http://scrapy.org/ , поиск «веб-сканера java» дал ссылку на crawler4j . Используя такую ​​​​инфраструктуру, для кого-то с > 4K баллов в stackoverflow реализация того, что вы ищете, займет не более нескольких дней.

Спасибо, дорогой Док Браун и @unor, ваши ответы действительно полезны и ценны, но я, к сожалению, не могу принять их оба. На мой взгляд, опыт программирования для этой задачи может быть более приятным! поэтому я принял этот ответ, однако я очень ценю ответ unor
@abforce: возможно, вы можете объединить два предложения - написать сканер (используя одну из предложенных платформ), который использует функцию Special:Export.

Не универсальный инструмент для этой работы, а решение, которое преобразует статьи Википедии в XML-документы:

  1. Перейдите на страницу http://en.wikipedia.org/wiki/Special:Export .
  2. Введите название статьи
  3. Нажмите «Экспорт»

(Введя название категории в поле «Добавить страницы из категории», вы можете автоматически экспортировать все страницы, принадлежащие к этой категории.)

На странице http://www.mediawiki.org/wiki/Manual:Parameters_to_Special:Export вы можете прочитать о дополнительных функциях функции экспорта, которыми можно управлять, манипулируя URL-адресом.

Фактическое содержание статьи (включенное в элемент XML text) экспортируется в синтаксисе MediaWiki. На http://www.mediawiki.org/wiki/Alternative_parsers вы можете найти различные инструменты, которые преобразуют эту разметку во что-то другое, например XML.

Например, Pandoc может импортировать синтаксис MediaWiki и экспортировать в XHTML (то есть XML).