Maison  >  Article  >  Java  >  Comment gérer les demandes de publication et les cookies dans Jsoup pour le grattage de sites Web après la connexion ?

Comment gérer les demandes de publication et les cookies dans Jsoup pour le grattage de sites Web après la connexion ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-29 04:01:29411parcourir

How to Handle Post Requests and Cookies in Jsoup for Website Scraping After Login?

Gestion des demandes de publication et des cookies dans jsoup

Lorsque vous essayez de gratter un site Web après vous être connecté, il est courant de rencontrer des problèmes dus au manque de cookies. Pour maintenir une session authentifiée, les sites Web définissent généralement des cookies lors de la connexion.

Dans jsoup, vous pouvez récupérer le cookie de session utilisé pour les demandes ultérieures en utilisant l'objet Connection.Response après avoir effectué une demande de connexion réussie :

<code class="java">Connection.Response res = Jsoup.connect("http://www.example.com/login.php")
    .data("username", "myUsername", "password", "myPassword")
    .method(Method.POST)
    .execute();</code>

Une fois que vous avez la réponse, vous pouvez accéder au cookie de session, qui porte généralement un nom comme "SESSIONID":

<code class="java">String sessionId = res.cookie("SESSIONID");</code>

Les demandes de page ultérieures doivent être effectuées avec le cookie de session pour maintenir le session :

<code class="java">Document doc2 = Jsoup.connect("http://www.example.com/otherPage")
    .cookie("SESSIONID", sessionId)
    .get();</code>

En incorporant la gestion des cookies dans votre code jsoup, vous pouvez réussir à naviguer et à gratter les pages suivantes du site Web après vous être connecté.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn