Ouvrir une connexion avec Jsoup, obtenir code d'état, et analyser le document
Je suis la création d'une classe à l'aide de jsoup que va faire ce qui suit:
- Le constructeur ouvre une connexion vers une url.
- J'ai une méthode qui permettra de vérifier l'état de la page. c'est à dire 200, 404, etc.
- J'ai une méthode pour analyser la page et de revenir une liste d'url.#
Ci-dessous est un rude travail de ce que je suis en train de faire, pas son très rude que j'ai essayé beaucoup de choses différentes
public class ParsePage {
private String path;
Connection.Response response = null;
private ParsePage(String langLocale){
try {
response = Jsoup.connect(path)
.userAgent("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.21 (KHTML, like Gecko) Chrome/19.0.1042.0 Safari/535.21")
.timeout(10000)
.execute();
} catch (IOException e) {
System.out.println("io - "+e);
}
}
public int getSitemapStatus(){
int statusCode = response.statusCode();
return statusCode;
}
public ArrayList<String> getUrls(){
ArrayList<String> urls = new ArrayList<String>();
}
}
Comme vous pouvez le voir je peux obtenir le statut de la page, mais à l'aide de la déjà d'ouvrir une connexion à partir du constructeur, je ne sais pas comment pour obtenir le document à analyser, j'ai essayé d'utiliser:
Document doc = connection.get();
Mais c'est un no go. Toutes les suggestions? Ou de meilleures façons d'aller à ce sujet?
OriginalL'auteur Peck3277 | 2012-05-09
Vous devez vous connecter pour publier un commentaire.
Comme indiqué dans le JSoup de la Documentation pour la Connexion.Réponse type, il y a un
parse()
méthode d'analyse de la réponse du corps comme unDocument
et le renvoie.Quand vous avez cela, vous pouvez faire ce que vous voulez avec elle.
Voir, par exemple, la mise en œuvre de
getUrls()
OriginalL'auteur Alex
Si vous n'avez pas besoin de connexion, utilisation:
Si vous avez besoin de login, je conseille d'utiliser:
Dans votre utilisation à obtenir les url, je serais probablement essayer
C'est à ce sujet.. continuez le bon travail
OriginalL'auteur Igor Brusamolin Lobo Santos
Vous devriez être en mesure d'appeler parse() sur la réponse de l'objet.
OriginalL'auteur B. Anderson
Semble que votre situation comme vous voulez établir la connexion avec jsoup ensuite, vérifiez le code d'état, et ensuite, selon le code de statut vous permettra d'analyser ou de ce que vous voulez faire.
Pour cela, vous devez d'abord vérifier l'état du code de l'URL à la place de la création de la connexion.
response.statusCode()
va vous retourner le code d'étatAprès que vous pouvez créer votre connexion
Votre classe va ressembler cette
OriginalL'auteur Ankit Sood