要在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
- 输入要爬取的URL,然后按回车键。爬虫将使用随机选择的代理IP发起请求,并打印响应内容。
注意:这个示例仅用于演示目的。在实际应用中,你可能需要处理更多的异常情况,以及使用更高级的爬虫框架(如Scrapy)来提高性能和可扩展性。此外,确保遵循目标网站的robots.txt规则,并遵守相关法律法规。