溫馨提示×

python代理ip爬蟲怎么用

小樊
111
2024-12-03 15:44:25
欄目: 編程語言

使用Python代理IP爬蟲主要涉及到兩個庫:requestsrandomuseragent。首先,確保已經安裝了這兩個庫。如果沒有安裝,可以使用以下命令安裝:

pip install requests
pip install randomuseragent

接下來,我們將創建一個簡單的Python代理IP爬蟲。這個爬蟲將從給定的URL列表中抓取網頁內容,并使用隨機User-Agent和代理IP來避免被目標網站封禁。

import requests
from randomuseragent import UserAgent

# 代理IP池
proxies = [
    {'http': 'http://proxy_ip:port'},
    {'http': 'http://another_proxy_ip:port'},
    # 更多代理IP...
]

# User-Agent列表
user_agents = [
    'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3',
    'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0',
    # 更多User-Agent...
]

def get_proxy():
    return random.choice(proxies)

def get_user_agent():
    return random.choice(user_agents)

def fetch_url(url):
    proxy = get_proxy()
    user_agent = get_user_agent()
    
    headers = {
        'User-Agent': user_agent
    }
    
    try:
        response = requests.get(url, headers=headers, proxies=proxy, timeout=5)
        response.raise_for_status()
        return response.text
    except requests.exceptions.RequestException as e:
        print(f"Error fetching {url}: {e}")
        return None

def main():
    urls = [
        'https://www.example.com',
        'https://www.example2.com',
        # 更多URL...
    ]
    
    for url in urls:
        content = fetch_url(url)
        if content:
            print(f"Fetched content from {url}")
            # 在這里處理網頁內容,例如保存到文件、解析數據等

if __name__ == "__main__":
    main()

請注意,你需要將proxies列表中的proxy_ipport替換為實際的代理IP和端口。同樣,你可以根據需要擴展user_agents列表。

這個示例代碼定義了三個函數:get_proxy()用于從代理IP池中隨機選擇一個代理IP,get_user_agent()用于從User-Agent列表中隨機選擇一個User-Agent,fetch_url(url)用于根據給定的URL抓取網頁內容。在main()函數中,我們定義了一個URL列表,并使用fetch_url()函數逐個抓取這些URL的內容。你可以根據需要處理抓取到的網頁內容,例如保存到文件、解析數據等。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女