Python爬蟲成為數據挖掘和數據分析的一項重要技術。然而,通過大量的請求進行數據獲取時,很容易被網站封禁IP地址。為了避免這種情況,可以使用IP池來輪流使用不同的IP地址進行請求,從而避免被封禁。
import requests import json import random def get_proxies(): url = 'http://ip.16yun.cn:817/myip/pl/85bea28a?tid=685675532668352&num=50&delay=1&format=json' response = requests.get(url) proxies = json.loads(response.text) return proxies proxies_pool = get_proxies() def get_html(url): 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.36'} proxies = random.choice(proxies_pool) try: response = requests.get(url, headers=headers, proxies=proxies, timeout=3) if response.status_code == 200: return response.text else: return None except: return None
本例使用了一個免費的IP代理池,每次請求隨機選取一個IP地址進行請求。如果有多個IP地址,可以將這些IP地址保存到一個列表里,每次請求前隨機選擇一個IP地址即可。
使用python爬蟲時,一定要注意法律法規和道德規范,不要利用爬蟲進行非法和惡意活動。
上一篇python 的預測函數
下一篇python 的魔術方法