/ / Comment gratter le code source à l'aide de HtmlUnit - java, web-scraping, htmlunit

Comment gratter le code source en utilisant HtmlUnit - java, web-scraping, htmlunit

J'essaie d'écrire un programme dans htmlunit pour extraire le code source d'un site Web et le renvoyer. Mon code est actuellement:

public class Htmlunitscraper {
private static String s = "website";

public static HtmlPage scrapeWebsite() throws IOException {
final WebClient webClient = new WebClient();
final HtmlPage page = webClient.getPage(s);

return page.getPage();
}
}

Je pensais que la méthode getPage renverrait le source mais je continue à courir dans les erreurs et l'URL est juste retourné Ces erreurs sont:

Oct 16, 2013 4:07:59 PM com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
WARNING: Obsolete content type encountered: "application/x-javascript".
Oct 16, 2013 4:08:00 PM com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError
SEVERE: runtimeError: message=[The data necessary to complete this operation is not yet available.] sourceName=[http://cpdocket.cp.cuyahogacounty.us/SheriffSearch/Scripts/jquery.js] line=[2] lineSource=[null] lineOffset=[0]
Oct 16, 2013 4:08:00 PM com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
WARNING: Obsolete content type encountered: "application/x-javascript".
Oct 16, 2013 4:08:00 PM com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
WARNING: Obsolete content type encountered: "application/x-javascript".
Oct 16, 2013 4:08:00 PM com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
WARNING: Obsolete content type encountered: "application/x-javascript".
Oct 16, 2013 4:08:01 PM com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
WARNING: Obsolete content type encountered: "application/x-javascript".
Oct 16, 2013 4:08:01 PM com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter runtimeError
SEVERE: runtimeError: message=[The data necessary to complete this operation is not yet available.] sourceName=[http://cpdocket.cp.cuyahogacounty.us/SheriffSearch/ScriptResource.axd?d=0XCJGMnW_16F7h4EC7avEaQ_Ma7RLZvTA2-XkhkFcfSnWFOkCRjbat77Yi12o3uS3yGC-YMdXQ_w3i5MHWALH-xBqxutgCryrSWcT8prtHkRngrJRiKTP-EYEm1QJ6zB0&t=ffffffff823b7694] line=[2] lineSource=[null] lineOffset=[0]
Oct 16, 2013 4:08:01 PM com.gargoylesoftware.htmlunit.IncorrectnessListenerImpl notify
WARNING: Obsolete content type encountered: "application/x-javascript".
HtmlPage(http://cpdocket.cp.cuyahogacounty.us/SheriffSearch/results.aspx?q=searchType%3dSaleDate%26searchString%3d10%2f21%2f2013%26foreclosureType%3d%27NONT%27%2c+%27PAR%27%2c+%27COMM%27%2c+%27TXLN%27)@1134201154

Est-ce que je n'utilise pas la bonne méthode pour renvoyer la source, car je ne trouve pas un bon exemple de la procédure à suivre?

Réponses:

1 pour la réponse № 1

Vous devriez voir le contenu de la page en faisant:

System.out.println(page.asXml());

Cela l’imprimera d’une manière joliment formatée.

Toutes les autres choses que vous voyez sont des erreurs javascript de la page que vous êtes en train de récupérer.

Si vous avez besoin du code source de la page sans avoir été formaté, cochez cette réponse:

Cochez cette réponse pour désactiver ces avertissements:


0 pour la réponse № 2

Essayez ce code, cela fonctionnera bien:

public class Htmlunitscraper {
private static String s = "website";
public static HtmlPage scrapeWebsite() throws IOException {
final WebClient webClient = new WebClient();
final HtmlPage page = webClient.getPage(s);
return page.asXml();
}
}