要使用Python代理IP爬虫,你需要首先安装一些库,如requests
, bs4
和 fake_useragent
。你可以使用以下命令安装这些库:
pip install requests pip install beautifulsoup4 pip install fake_useragent
接下来,你可以使用以下代码创建一个简单的代理IP爬虫:
import requests from bs4 import BeautifulSoup from fake_useragent import UserAgent # 代理IP池 proxies = [ {'http': 'http://1.2.3.4:8080'}, {'http': 'http://5.6.7.8:8080'}, # 更多代理IP... ] # 随机User-Agent ua = UserAgent() def get_proxy(): return random.choice(proxies) def fetch_url(url): proxy = get_proxy() headers = {'User-Agent': ua.random} 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 parse_html(html): soup = BeautifulSoup(html, 'html.parser') # 根据网页结构解析数据,例如: titles = soup.find_all('h2', class_='title') for title in titles: print(title.get_text()) if __name__ == "__main__": url = "https://example.com" # 要爬取的网址 html = fetch_url(url) if html: parse_html(html)
这个示例代码首先定义了一个代理IP池,然后使用fake_useragent
库随机选择一个User-Agent。fetch_url
函数接受一个URL,使用代理IP和随机User-Agent发起请求,并返回响应内容。parse_html
函数解析HTML内容并根据网页结构提取所需数据。
请注意,这个示例仅用于演示目的,实际应用中可能需要根据目标网站的结构和反爬虫策略进行调整。同时,使用代理IP爬虫时,请确保遵守相关法律法规和网站的使用条款。