要使用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爬虫时,请确保遵守相关法律法规和网站的使用条款。