Мне действительно нужна помощь, чтобы извлечь 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, пожалуйста, оставьте ответ здесь. Спасибо.