Страницы

Поиск по вопросам

понедельник, 2 декабря 2019 г.

Как парсить html в java?

#java #html #парсер


Нужно пропарсить вебстраницу и извлечь из нее путь к картинке. Никак не могу разобраться
с классом  HTML Parser. Нужен пример - не могу найти в нете.    


Ответы

Ответ 1



А что сложного то? У них самая обыкновенная документация в JavaDoc. Но даже там можно найти почти все, что нужно. Например: Typical usage of the parser is: Parser parser = new Parser ("http://whatever"); NodeList list = parser.parse (null); // do something with your list of nodes. А потом еще немного посмотреть: NodeList parse(NodeFilter filter) NodeFilter -> вот тут Все, по-моему, слишком просто. Не говоря уже об этом bin/parser http://website_url [tag_name] where tag_name is an optional tag name to be used as a filter, i.e. A - Show only the link tags extracted from the document IMG - Show only the image tags extracted from the document TITLE - Extract the title from the document NOTE: this is also the default program for the htmlparser.jar, so the above could be: java -jar lib/htmlparser.jar http://website_url [tag_name] UPD: public static void main(String[] args) { try { Parser parser = new Parser("http://www.alliance-bags.ru/catalog.php?tov=576"); parser.setEncoding("windows-1251"); NodeFilter atrb1 = new TagNameFilter("IMG"); NodeList nodeList = parser.parse(atrb1); for(int i=0; i

Ответ 2



Попробуйте jsoup. Мне очень понравился.

Ответ 3



Для простых случаев можно воспользоваться стандартным API Java. Например, достать файл через HttpURLConnection и найти необходимое с помощью регулярных выражений.

Ответ 4



jsoup: Java HTML Parser: Document doc = Jsoup.connect("http://en.wikipedia.org/").get(); Elements newsHeadlines = doc.select("#mp-itn b a");

Ответ 5



Можно использовать стандартные для Java инструменты. Зачем для извлечения пути к картинке использовать дополнительную либу? Если необходимо единоразово сделать, то можно использовать DOM и XPath. Если же необходимо обработать кучу больших документов, то лучше использовать SAX. Единожды потратив время на разбор этих методов больше никогда не будете знать проблем с разбором не только HTML, но и любых XML документов. Использование же регулярных выражений для разбора HTML не есть хорошая практика - просто в силу особенности гибкости и необязательности синтаксиса HTML.

Ответ 6



Посмотрите на этот. Довольно простой принцип работы, поддерживает невалидные страницы. Есть коллекция объектов, замапленых на теги. Очень удобно. Если есть вопросы - спрашивайте.

Комментариев нет:

Отправить комментарий