IPIPGO proxy ip Java Proxy IP HTML Parser : Bibliothèque Java Proxy IP Parser

Java Proxy IP HTML Parser : Bibliothèque Java Proxy IP Parser

Tout d'abord, pourquoi utiliser Java pour s'engager dans la résolution IP par proxy ? Le vieux fer à repasser du réseau crawler comprendre, directement avec leur propre IP fou demande site, minutes d'être sur la liste noire. Cette fois, vous devez utiliser l'IP proxy pour cacher l'identité réelle, comme si le crawler devait porter une myriade de masques. Mais les services d'IP proxy sur le marché sont renvoyés au H...

Java Proxy IP HTML Parser : Bibliothèque Java Proxy IP Parser

Tout d'abord, pourquoi utiliser Java pour s'engager dans la résolution IP par proxy ?

Le vieux fer à repasser du crawler de réseau comprend, directement avec leur propre IP site de demande frénétique, minutes d'être mis sur la liste noire. Cette fois, vous devez utiliser une IP proxy pourCachez votre véritable identité.C'est comme mettre un million de masques sur un crawler. Mais les services IP proxy du marché sont renvoyés au format HTML, vous ne pouvez pas le copier et le coller manuellement ? Cette fois, vous devez écrire un analyseur syntaxique pour le traitement par lots.

Deuxièmement, le tutoriel sur les roues de construction manuelle

Utilisons Jsoup comme analyseur HTML, avec le service proxy d'ipipgo pour nous entraîner. Supposons que nous voulions extraire l'adresse IP et le numéro de port de la page obtenue par ipipgo, la structure de la page ressemble à ceci :


<div class="proxy-list">
  <span>101.202.3.4</span>
  <em&gt|</em>
  <span>8080</span>
</div>

Le code est écrit de cette manière (voir la section sur la gestion des exceptions) :


// Mise en place du proxy d'ipipgo (accentuation ajoutée !)
System.setProperty("http.proxyHost", "gateway.ipipgo.com") ;
System.setProperty("http.proxyPort", "9021") ; // Configuration du proxy d'ipipgo.

Document doc = Jsoup.connect("https://api.ipipgo.com/proxies")
               .timeout(10000)
               .timeout(10000) ; .get() ;

Elements proxies = doc.select("div.proxy-list") ;
for (Element proxy : proxies) {
    String ip = proxy.select("span:first-child").text() ;
    String port = proxy.select("span:last-child").text() ; String port = proxy.select("span:last-child").text() ;
    System.out.println("Caught valid IP : " + ip + " :" + port) ;
}

III. un guide pour éviter les trois fosses géantes

Pit 1 : La défaillance de l'IP n'est pas gérée - Proposé par ipipgoTaux de survie 99%Leurs adresses IP sont automatiquement actualisées toutes les 15 minutes.

Fosse 2 : Les demandes sont trop souvent interdites - Introduire un temps d'attente aléatoire dans le code :


Thread.sleep((long)(Math.random() 3000)) ;

Fosse 3 : Problèmes liés aux certificats HTTPS - Ajouter cette configuration au moment de l'initialisation :


Connexion connexion = Jsoup.connect(url)
    .sslSocketFactory(ipipgoSSLContext().getSocketFactory()) ;

IV. questions fréquemment posées sur l'AQ

questions prescription
Que dois-je faire si j'ai toujours un temps d'arrêt lors de l'analyse ? Réglez le paramètre de délai de réponse de ipipgo à 15000ms, la réponse moyenne de leur API n'est que de 800ms.
Que faire si j'ai besoin d'un proxy hautement anonyme ? Allez-y avec ipipgo.Paquet EntrepriseL'en-tête de requête X-Forwarded-For comportera automatiquement la mention X-Forwarded-For

V. Conseils pour l'optimisation des performances

1) Réduire les échanges répétés grâce à la mise en commun des connexions :


Connection.Response res = Jsoup.newSession()
    .url(url)
    .proxy("gateway.ipipgo.com", 9021)
    .execute() ;

2. avec l'ipipgopool IP exclusifLa vitesse d'analyse dans le monde réel est plus de trois fois supérieure.

3. n'oubliez pas de nettoyer régulièrement les adresses IP invalides, vous pouvez utiliser l'interface de détection de l'état de l'API qu'ils fournissent

VI. dire la vérité

La partie la plus difficile de l'écriture de votre propre analyseur n'est pas le code, c'est le maintien de la qualité des IP de proxy. J'ai utilisé quelques services gratuits auparavant et 8 IP sur 10 étaient mortes. Puis j'ai opté pour ipipgo.IP résidentielle dynamiqueLe taux de réussite de la résolution est passé directement de 50% à 95%, ce qui est franchement un soulagement, car il n'est plus nécessaire de lancer le mécanisme de réessai à longueur de journée.

Cet article a été initialement publié ou compilé par ipipgo.https://www.ipipgo.com/fr/ipdaili/37566.html

scénario d'entreprise

Découvrez d'autres solutions de services professionnels

💡 Cliquez sur le bouton pour plus de détails sur les services professionnels

新春惊喜狂欢,代理ip秒杀价!

Fournisseur professionnel de services d'IP proxy étrangers-IPIPGO

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Nous contacter

Nous contacter

13260757327

Demande de renseignements en ligne. QQ chat

Courriel : hai.liu@xiaoxitech.com

Horaires de travail : du lundi au vendredi, de 9h30 à 18h30, jours fériés.
Suivre WeChat
Suivez-nous sur WeChat

Suivez-nous sur WeChat

Haut de page
fr_FRFrançais