Извлечение микроданных из HTML в Java

Мне действительно нужна помощь, чтобы извлечь Mircodata, встроенный в HTML5. Моя цель — получить структурированные данные с веб-страницы, как этот инструмент Google: http://www.google.com/webmasters/tools/richsnippets. Я много искал, но нет возможного решения.

В настоящее время я использую библиотеку any23, но не могу найти никакой документации, только javadocs, которые не предоставляют мне достаточно информации.

Я использую средство извлечения микроданных any23, но застреваю на третьем параметре: «org.w3c.dom.Document in». Я не могу проанализировать HTML-контент как w3cDom. Я использовал JTidy, а также JSoup, но объекты DOM в этой библиотеке не фиксируются конструктором Extractor. Кроме того, я также сомневаюсь по поводу 2-го параметра экстрактора микроданных.

Я надеюсь, что кто-нибудь может помочь мне сделать с any23 или предложить другую библиотеку, которая может решить эту проблему извлечения.

Изменить: я сам нашел решение, используя тот же способ, что и любой инструмент командной строки 23. Вот фрагмент кода:

HTTPDocumentSource doc = new HTTPDocumentSource(DefaultHTTPClient.createInitializedHTTPClient(), value);
InputStream documentInputInputStream = doc.openInputStream();
TagSoupParser tagSoupParser = new TagSoupParser(documentInputInputStream, doc.getDocumentURI());
Document document = tagSoupParser.getDOM();
ByteArrayOutputStream byteArrayOutput = new ByteArrayOutputStream();
MicrodataParser.getMicrodataAsJSON(tagSoupParser.getDOM(),new PrintStream(byteArrayOutput));
String result = byteArrayOutput.toString("UTF-8");

Эта строка кода только извлекает микроданные из HTML и записывает их в формате JSON. Я пытался использовать MicrodataExtractor, который может изменить выходной формат на другой (Rdf, черепаха, ...), но входной документ, похоже, принимает только формат XML. Он выдает «Документ не запущен», когда я вставляю HTML-документ.

Если кто-то нашел способ использовать MicrodataExtractor, пожалуйста, оставьте ответ здесь. Спасибо.


person user3500567    schedule 20.11.2014    source источник
comment
Я использовал Any23 Microdata Extractor, но застрял на третьем параметре: org.w3c.dom.Document in. Я не могу проанализировать html-контент как w3cDom. Я использовал JTidy, а также JSoup, но объекты DOM в этой библиотеке не фиксируются конструктором Extractor. Кроме того, я также сомневаюсь по поводу 2-го параметра экстрактора микроданных. Большое спасибо :D   -  person user3500567    schedule 20.11.2014
comment
Хорошо, я включил это в ваш вопрос. Не стесняйтесь отредактировать его и включить дополнительные сведения, если сможете. Чтобы порекомендовать другие инструменты, которые могут выполнять эту работу, загляните на наш дочерний сайт Рекомендации по программному обеспечению (на Stack Overflow запросы рекомендаций по инструментам обычно отключены). -тема).   -  person unor    schedule 20.11.2014


Ответы (1)


xpath обычно является способом использования html или xml.

взгляните на: Как читать XML с помощью XPath в Java

person CharlieS    schedule 20.11.2014
comment
Спасибо за ваш быстрый ответ. Я посмотрю на Xpath и сообщу результат позже :) - person user3500567; 20.11.2014
comment
Сравнение яблок и апельсинов. XPath полезен для обработки узлов/атрибутов в XML-документе. Разбор микроданных требует перемещения. Any23 MicrodataExtractor способен конвертировать в RDF и т. д. - person user2337270; 21.07.2018