Je vais vous présenter comment ajouter des IP proxy en Java pour les crawlers. Je sais que le crawler consiste à imiter le comportement humain sur le réseau, grâce au programme permettant d'automatiser l'acquisition d'informations sur la page web. Et dans le processus de crawling, l'utilisation d'IP proxy est très importante pour éviter d'être banni du site web à cause de requêtes fréquentes.
I. Le rôle et l'utilisation de la propriété intellectuelle par procuration
Dans le monde des réseaux, nous utilisons l'adresse IP pour identifier et trouver un appareil spécifique, ce qui revient à dire que chaque personne a un numéro d'identification unique. L'adresse IP proxy équivaut à notre crawler et permet de "déguiser l'identité", de sorte que notre comportement de crawling ressemble davantage au comportement de navigation normal de l'utilisateur, ce qui réduit considérablement le risque d'être banni.
Ensuite, je vous expliquerai comment utiliser le proxy IP en Java pour l'explorer !
Deuxièmement, obtenez l'IP du proxy
Pour utiliser une IP proxy, vous devez d'abord trouver des adresses IP proxy disponibles. Je vous recommande ici d'utiliser quelques sites web d'adresses IP proxy pour les obtenir.
public List getProxyIpList(){
List proxyIpList = new ArrayList() ;
// Utiliser HttpClient pour envoyer une requête afin d'obtenir le contenu de la page.
CloseableHttpClient httpClient = HttpClients.createDefault() ; // envoyer une requête en utilisant HttpClient pour obtenir le contenu d'une page web.
HttpGet httpGet = new HttpGet("http://www.proxywebsite.com") ;
CloseableHttpResponse response = null ;
try {
response = httpClient.execute(httpGet) ; HttpEntity entity = httpClient.execute(httpGet) ; HttpEntity = httpClient.execute(httpGet)
HttpEntity entity = response.getEntity() ; String html = EntityUser() ; String html = EntityUser()
Chaîne html = EntityUtils.toString(entity) ;
// Extraire l'adresse IP du proxy à l'aide d'une expression régulière.
Pattern pattern = Pattern.compile("\d+\c. \d+\. \N- \N- \N- \N- \N- \N- \N- \N- \N-") ;
Matcher matcher = pattern.matcher(html) ;
// Extraire les adresses IP et les enregistrer dans la liste.
while (matcher.find()){
String proxyIp = matcher.group() ; // L'adresse IP à extraire est enregistrée dans la liste.
proxyIpList.add(proxyIp) ;
}
} catch (IOException e) {
e.printStackTrace() ; } catch (IOException e) { e.printStackTrace() ; }
} finally {
try {
if(response!=null){
response.close() ; }
}
httpClient.close() ; } catch (IOException e) { if(response!=null){ response.close() ; }
} catch (IOException e) {
e.printStackTrace() ; } catch (IOException e) { e.printStackTrace() ; }
}
}
return proxyIpList ; }
}
Avec le code ci-dessus, nous pouvons obtenir certaines adresses IP de proxy disponibles sur le site Web Proxy IP et les enregistrer dans une liste.
Troisièmement, définir l'IP du proxy
Ensuite, nous devons définir l'adresse IP du proxy dans le crawler, afin que le programme puisse utiliser le proxy pour explorer les données. Vous trouverez ci-dessous un exemple de code pour définir l'adresse IP du proxy :
public void setProxy(String proxyHost, int proxyPort){
HttpClientBuilder builder = HttpClientBuilder.create() ;
HttpHost proxy = new HttpHost(proxyHost, proxyPort, "http") ;
builder.setProxy(proxy) ;
CloseableHttpClient httpClient = builder.build() ;
// Utiliser httpClient pour envoyer la requête...
}
Dans le code ci-dessus, nous utilisons la fonctionnalité fournie par HttpClient pour définir l'IP du proxy. En spécifiant l'adresse de l'hôte et le numéro de port de l'IP du proxy, nous pouvons permettre à l'application d'utiliser le proxy pour l'exploration des données.
Quatrièmement, l'utilisation d'un proxy IP pour le crawling
Une fois l'adresse IP du proxy configurée, vous pouvez suivre le processus normal du crawler pour l'exploration des données. Voici un exemple de code simple :
public void crawlWithProxy(){
List proxyIpList = getProxyIpList() ;
for(String proxyIp : proxyIpList){
String[] ipAndPort = proxyIp.split(" :") ;
String ip = ipAndPort[0] ;
int port = Integer.parseInt(ipAndPort[1]) ;
setProxy(ip, port) ;
// Utiliser httpClient pour envoyer une requête afin d'explorer les données...
}
}
Avec le code ci-dessus, nous pouvons parcourir la liste des IP proxy et utiliser chaque IP proxy à tour de rôle pour l'exploration des données.
V. Résumé
Grâce à l'introduction de cet article, je pense que vous avez une meilleure compréhension de l'ajout d'un proxy IP en Java pour le crawling. L'utilisation de l'IP proxy peut être un bon moyen de protéger notre crawler afin d'éviter qu'il ne soit bloqué par le site cible. Bien sûr, dans la pratique, nous pouvons encore améliorer la stratégie d'utilisation des IP proxy, comme la mise à jour régulière de la liste des IP proxy, la vérification de la disponibilité des IP proxy, etc.
J'espère que le partage d'aujourd'hui vous aidera, que notre programme crawler sera plus efficace et que son fonctionnement sera plus stable ! Enfin, je vous rappelle également d'utiliser le crawler en respectant l'éthique du réseau et les lois et règlements, de ne pas abuser de la technologie du crawler, de protéger la sécurité des données et la vie privée.