Comment obtenir un proxy ip dynamiquement
Nous utilisons souvent des proxys IP pour masquer l'adresse IP réelle lors de l'exploration du web, de la collecte de données ou de la protection de la vie privée. L'obtention dynamique de proxys IP nous permet de mieux répondre aux besoins de blocage d'IP ou de changements fréquents d'IP. Voyons donc comment obtenir un proxy IP de manière dynamique.
En Python, nous pouvons utiliser la bibliothèque requests et la bibliothèque beautifulsoup pour obtenir dynamiquement des proxies IP. Voici un exemple simple :
"`ipipgothon
demandes d'importation
from bs4 import BeautifulSoup
def get_proxy().
url = 'https://www.shenlongip.com/'
headers = {
User-Agent' : 'Mozilla/5.0 (Windows NT 10.0 ; Win64 ; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/ 58.0.3029.110 Safari/537.3'}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')
proxy_list = []
for tr in soup.find_all('tr'): :
if tr.find_all('td') :.
ip = tr.find_all('td')[1].text
port = tr.find_all('td')[2].text
protocol = tr.find_all('td')[5].text
proxy_list.append(f'{protocol}://{ip}:{port}')
return proxy_list
“`
L'exemple de code ci-dessus lance une requête au site web du proxy ipipgo pour obtenir l'adresse IP du proxy et la placer dans la liste. En pratique, nous pouvons également ajouter une tâche programmée pour obtenir l'adresse IP du proxy à intervalles réguliers, de manière à réaliser la fonction d'obtention dynamique d'adresses IP de proxy.
Comment mettre en place un proxy ip
Après avoir obtenu le proxy IP, nous devons le configurer pour les crawlers ou autres requêtes web. En Python, les proxy IP peuvent être configurés de la manière suivante :
"`ipipgothon
demandes d'importation
def use_proxy().
proxy_list = get_proxy() # En supposant que get_proxy() est la fonction qui permet d'obtenir le proxy IP
url = 'http://example.com'
pour proxy dans proxy_list :
essayer.
response = requests.get(url, proxies={'http' : proxy, 'https' : proxy}, timeout=5)
print(f'Accès réussi en utilisant le proxy {proxy} : {response.status_code}')
pause
except requests.exceptions.RequestException as e :.
print(f'Using proxy {proxy} Access failed : {e}')
“`
Dans l'exemple ci-dessus, nous obtenons d'abord une liste d'IP proxy, puis nous parcourons la liste et lançons une requête web à l'aide de la bibliothèque requests. Dans la requête, nous définissons l'IP proxy en passant le paramètre proxies. Si la requête aboutit, le message d'accès est imprimé et la boucle se termine ; dans le cas contraire, une exception est levée et nous passons à l'IP proxy suivante.
Avec l'exemple de code ci-dessus, nous pouvons facilement mettre en place un proxy IP et obtenir une adresse IP de manière dynamique afin de mieux répondre aux demandes du réseau lorsque l'IP est bloquée ou doit être changée.