2010-01-11 23 views
6

Jestem famier z językiem programowania java lubię wyodrębniać dane ze strony internetowej i przechowywać je w mojej bazie danych uruchomionej na moim komputerze. Jest to możliwe w java. Jeśli tak, który interfejs API powinienem użyć. Na przykład liczba szkół wymienionych na stronie internetowej Jak mogę wyodrębnić te dane i zapisać je w mojej bazie danych przy użyciu java.Jak wyodrębnić dane z witryny za pomocą java?

+0

Duplikaty: http://stackoverflow.com/questions/tagged/screen-scraping+java – Jherico

+0

Miliony dupek! http://stackoverflow.com/questions/26638/what-html-parsing-libraries-do-you-recommend-in-java, http://stackoverflow.com/questions/238036/java-html-parsing, etc, itd., itp. –

Odpowiedz

7

To, o czym mówisz, potocznie nazywa się "screencraping". Jest wiele sposobów na zrobienie tego w Javie, jednak wolę HtmlUnit. Chociaż został zaprojektowany jako sposób testowania funkcjonalności sieci, można go użyć do trafienia na zdalną stronę i przeanalizowania go.

Polecam używanie dobrego parsera html obsługującego błędy, takiego jak Tagsoup, aby wyodrębnić z HTML dokładnie to, czego szukasz.

+0

Mogę podać drugą rekomendację dla tagsoup. używam go już od jakiegoś czasu, aby wyodrębnić dane z "rzeczywistych stron świata" (co oznacza, pełen nieprawidłowy html) i działa świetnie – bert

0

W zależności od tego, co naprawdę chcesz zrobić, możesz użyć wielu różnych rozwiązań.

Jeśli potrzebujesz tylko pobrać kod HTML strony internetowej, to URL.getContent() może być twoim rozwiązaniem. Oto mały poradnik:

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

EDIT: nie rozumiem, szukał sposobu, aby analizować kod HTML. Niektóre narzędzia zostały zasugerowane powyżej. Przepraszam za to.

1

Można użyć VietSpider XML z

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

Pobierz VietSpider3_16_XML_Windows.zip lub VietSpider3_16_XML_Linux.zip

Ekstraktor danych sieciowych VietSpider: Oprogramowanie przeszukuje dane ze stron internetowych ((Skrobak danych)), formatuje do standardu XML (Tekst, CDATA), a następnie przechowuje w relacyjnej bazie danych. Produkt obsługuje różne RDBM, takie jak Oracle, MySQL, SQL Server, H2, HSQL, Apache Derby, Postgres ... VietSpider Crawler obsługuje sesję (logowanie, zapytanie za pomocą wprowadzania danych), pobieranie wielu plików, obsługę JavaScript, proxy (i wiele proxy przez automatyczne skanowanie serwerów proxy ze strony internetowej) ...

Powiązane problemy