要编写一个使用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规则,并在爬取数据时遵循相关法律法规。