with una tutorial studio scraping pagina how hacer datos con como capturar basico java web-scraping frameworks

una - Raspado web con Java



load html java (9)

jsoup

Extraer el título no es difícil, y tiene muchas opciones, busque aquí en Desbordamiento de pila para " analizadores HTML de Java ". Uno de ellos es Jsoup .

Puede navegar la página usando DOM si conoce la estructura de la página, vea http://jsoup.org/cookbook/extracting-data/dom-navigation

Es una buena biblioteca y la he usado en mis últimos proyectos.

No puedo encontrar ninguna buena API basada en Java. El sitio que necesito eliminar no proporciona ninguna API; Quiero iterar sobre todas las páginas web usando algún pageID y extraer los títulos HTML / otras cosas en sus árboles DOM.

¿Hay otras formas además del raspado web?

Gracias


Con el rascador web, puede extraer el contenido útil de la página web y convertirlo a cualquier formato según corresponda.

WebScrap ws= new WebScrap(); //set your extracted website url ws.setUrl("http://dasnicdev.github.io/webscrap4j/"); //start scrap session ws.startWebScrap();

Ahora su sesión de eliminación de contenido web comienza y está lista para eliminar o extraer datos en Java utilizando la biblioteca webscrap4j .

Para el título:

System.out.println("-------------------Title-----------------------------"); System.out.println(ws.getSingleHTMLTagData("title"));

Por lema:

System.out.println("-------------------Tagline-----------------------------"); System.out.println(ws.getSingleHTMLScriptData("<h2 id=''project_tagline''>", "</h2>"));

Para todas las etiquetas de anclaje:

System.out.println("-------------------All anchor tag-----------------------------"); al=ws.getImageTagData("a", "href"); for(String adata: al) { System.out.println(adata); }

Para datos de imagen:

System.out.println("-------------------Image data-----------------------------"); System.out.println(ws.getImageTagData("img", "src")); System.out.println(ws.getImageTagData("img", "alt"));

Para Ul-Li Data:

System.out.println("-------------------Ul-Li Data-----------------------------"); al=ws.getSingleHTMLScriptData("<ul>", "</ul>","<li>","</li>"); for(String str:al) { System.out.println(str); }

Para ver el código fuente completo, consulte este tutorial .


Mire un analizador HTML como TagSoup, HTMLCleaner o NekoHTML.


Puede probar la biblioteca ui4j o cdp4j para raspar web. ui4j requiere Java 8 y usa el navegador JavaFx WebKit y cdp4j requiere Chrome.


Si desea automatizar el raspado de páginas o datos de gran cantidad, puede probar Gotz ETL .

Es completamente impulsado por un modelo como una verdadera herramienta de ETL. La estructura de datos, el flujo de trabajo de tareas y las páginas para raspar se definen con un conjunto de archivos de definición XML y no se requiere codificación. La consulta puede escribirse utilizando Selectores con JSoup o XPath con HtmlUnit.


Su mejor opción es usar Selenium Web Driver ya que

  1. Proporciona retroalimentación visual al codificador (vea su raspado en acción, vea dónde se detiene)
  2. Exacto y consistente, ya que controla directamente el navegador que utiliza.
  3. Lento. No afecta a páginas web como HtmlUnit, pero a veces no desea golpear demasiado rápido.

    Htmlunit es rápido pero es horrible en el manejo de Javascript y AJAX.




HTMLUnit se puede utilizar para hacer raspado web, admite la invocación de páginas, llenado y envío de formularios. Lo he usado en mi proyecto. Es una buena biblioteca de Java para raspar web. lea aquí para más