要在Python中使用代理IP进行爬虫,你可以使用requests
库和random
库来实现。以下是一个简单的示例:
requests
库。如果没有安装,可以使用以下命令安装:pip install requests
proxy_spider.py
的文件,并在其中编写以下代码:import requests
import random
# 代理IP池
proxies = [
{'http': 'http://proxy1.example.com:8080'},
{'http': 'http://proxy2.example.com:8080'},
{'http': 'http://proxy3.example.com:8080'},
# 更多代理IP...
]
def get_proxy():
return random.choice(proxies)
def fetch(url):
proxy = get_proxy()
try:
response = requests.get(url, 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
if __name__ == "__main__":
url = input("Enter the URL you want to fetch: ")
content = fetch(url)
if content:
print(content)
在这个示例中,我们创建了一个名为proxies
的代理IP池,然后使用random.choice()
函数从中随机选择一个代理IP。fetch()
函数接受一个URL作为参数,使用选定的代理IP发起请求,并返回响应内容。
proxy_spider.py
文件:python proxy_spider.py
注意:这个示例仅用于演示目的。在实际应用中,你可能需要处理更多的异常情况,以及使用更高级的爬虫框架(如Scrapy)来提高性能和可扩展性。此外,确保遵循目标网站的robots.txt规则,并遵守相关法律法规。