Как извлечь данные с сайта с помощью Java? - PullRequest
6 голосов
/ 11 января 2010

Я знаком с языком программирования Java. Мне нравится извлекать данные с веб-сайта и сохранять их в своей базе данных, работающей на моем компьютере. Это возможно в java. Если какой API мне следует использовать. Например, количество школ, перечисленных на веб-сайте. Как я могу извлечь эти данные и сохранить их в своей базе данных, используя Java.

Ответы [ 4 ]

7 голосов
/ 11 января 2010

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

Я бы рекомендовал использовать хороший обработчик ошибок HTML, такой как Tagsoup , чтобы извлечь из HTML именно то, что вы ищете.

1 голос
/ 20 мая 2010

Вы можете использовать VietSpider XML с

http://sourceforge.net/projects/binhgiang/files/

Скачать VietSpider3_16_XML_Windows.zip или VietSpider3_16_XML_Linux.zip

VietSpider Web Data Extractor: Программное обеспечение сканирует данные с веб-сайтов ((Data Scraper)), форматирует их в стандарт XML (Text, CDATA) и затем сохраняет их в реляционной базе данных. Продукт поддерживает различные RDBM, такие как Oracle, MySQL, SQL Server, H2, HSQL, Apache Derby, Postgres… VietSpider Crawler поддерживает сессию (вход в систему, запрос по форме ввода), мультизагрузку, обработку JavaScript, прокси (и мульти-прокси автоматическое сканирование прокси с сайта)…

1 голос
/ 21 января 2010

Вам определенно нужен хороший анализатор, такой как NekoHTML.

Вот пример использования NekoHTML, хотя и с использованием Groovy (языка сценариев на основе Java), а не самой Java:

http://www.keplarllp.com/blog/2010/01/better-competitive-intelligence-through-scraping-with-groovy

0 голосов
/ 12 января 2010

В зависимости от того, что вы действительно пытаетесь сделать, вы можете использовать множество различных решений.

Если вы просто хотите получить HTML-код веб-страницы, то URL.getContent () может быть вашим решением. Вот небольшой урок:

http://www.javacoffeebreak.com/books/extracts/javanotesv3/c10/s4.html

РЕДАКТИРОВАТЬ: не понял, он искал способ для анализа HTML-кода. Некоторые инструменты были предложены выше. Извините за это.

...