目录
在进行网络爬虫时,使用代理是非常重要的。因为爬虫经常会被网站封 IP,而代理可以隐藏你的真实 IP 地址,让你可以更不受限制地爬取数据。本文将介绍如何在 Python 中打印代理,包括代理 IP 的使用以及代码案例。

在使用代理 IP 时,需要注意一些事项,包括:
你可以在一些代理 IP 提供商的网站上购买或免费获取代理 IP。一些代理 IP 提供商包括:
不同的代理 IP 有不同的速度、稳定性和隐私性能。选择合适的代理 IP 可以提高你的爬虫效率和安全性。
在 Python 中,可以通过设置代理 IP 来访问网站。使用 requests 库时,可以将代理 IP 作为参数传递给 get 或 post 方法,如下所示:
- import requests
-
- proxies = {
- "http": "http://10.10.1.10:3128",
- "https": "http://10.10.1.10:1080",
- }
-
- response = requests.get("http://www.example.com", proxies=proxies)
上面的示例中,我们设置了两个代理 IP,分别用于 HTTP 和 HTTPS 请求。我们可以将代理 IP 替换为自己的 IP 地址和端口号。
在使用代理 IP 时,有时候会遇到代理 IP 失效的情况。为了避免浪费时间在失效的代理 IP 上,我们可以使用代理 IP 验证器来验证代理 IP 是否有效,如下所示:
- import requests
-
- proxies = {
- "http": "http://10.10.1.10:3128",
- "https": "http://10.10.1.10:1080",
- }
-
- response = requests.get("http://www.example.com", proxies=proxies, timeout=5)
- if response.status_code == 200:
- print("代理 IP 有效")
- else:
- print("代理 IP 失效")
代理 IP 验证器的作用是发送一个 HTTP 请求,检查返回结果的状态码。如果状态码是 200,则代理 IP 有效。
下面是一个使用代理 IP 的完整代码案例。我们使用 requests 库和 BeautifulSoup 库获取豆瓣电影 Top250 的电影名称和评分,使用了代理 IP 来避免被封 IP。
- import requests
- from bs4 import BeautifulSoup
-
- # 代理 IP
- proxies = {
- "http": "http://10.10.1.10:3128",
- "https": "http://10.10.1.10:1080",
- }
-
- # 网站 URL
- url = "https://movie.douban.com/top250"
-
- # 发送 HTTP 请求
- response = requests.get(url, proxies=proxies)
-
- # 解析 HTML
- soup = BeautifulSoup(response.text, "html.parser")
-
- # 查找电影列表
- movie_list = soup.find_all(class_="grid_view")[0].find_all("li")
-
- # 遍历电影列表,输出电影名称和评分
- for movie in movie_list:
- title = movie.find_all("span", class_="title")[0].text
- rating = movie.find_all("span", class_="rating_num")[0].text
- print(title + " " + rating)
以上代码案例中,我们使用了代理 IP 来发送 HTTP 请求,设置了代理 IP 的地址和端口号。由于豆瓣网站对爬虫比较严格,使用代理 IP 可以有效避免被封 IP 的情况。
在 Python 中使用代理 IP 可以有效避免被封 IP 的情况,并且还可以提高爬虫效率和安全性。在使用代理 IP 时,需要注意选择合适的代理 IP、设置代理 IP 和验证代理 IP,以确保代理 IP 的有效性和安全性。本文中提供了一个使用代理 IP 的完整代码案例,供读者参考。