要编写一个使用Python代理IP的爬虫,你可以使用requests
库和random
库来实现。以下是一个简单的示例:
首先,确保已经安装了requests
库。如果没有安装,可以使用以下命令安装:
pip install requests
然后,创建一个名为proxy_scraper.py
的文件,并在其中编写以下代码:
import requests
import random
# 代理IP列表
proxies = [
{'http': 'http://1.2.3.4:8080'},
{'http': 'http://5.6.7.8:8080'},
# 更多代理IP...
]
# 目标URL
url = 'https://example.com'
def get_proxy():
return random.choice(proxies)
def fetch_url(url, 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
def main():
proxy = get_proxy()
content = fetch_url(url, proxy)
if content:
print(content)
if __name__ == '__main__':
main()
在这个示例中,我们首先导入requests
和random
库。然后,我们定义了一个代理IP列表,其中包含了一些代理服务器的IP地址和端口。接下来,我们定义了一个名为get_proxy
的函数,该函数从代理IP列表中随机选择一个代理服务器并返回其信息。我们还定义了一个名为fetch_url
的函数,该函数使用给定的代理服务器发送HTTP请求并返回响应内容。最后,我们在main
函数中调用这些函数来爬取目标URL的内容。
请注意,这个示例仅用于演示目的。在实际应用中,你可能需要处理更多的异常情况,以及使用更高级的爬虫框架(如Scrapy)来实现更高效和可扩展的爬虫。此外,确保遵守目标网站的robots.txt规则,并在爬取数据时遵循相关法律法规。