如今住宅IP已经融入了我们的日常生活当中,像爬虫爬取、网站检测、广告测试等等业务的开展都离不开住宅IP。目前常见的住宅IP主要为三种,分别是HTTP代理、HTTPS代理和SOCKS代理,三者当中使用较多的是HTTP代理这一类型。
HTTP代理都有哪些使用场景?(http 代理)
HTTP代理是一种常见的网络应用程序,它通过中间人的方式将客户端和服务器之间的HTTP请求和响应传递。以下是HTTP代理的一些常见使用场景:
1、访问控制:HTTP代理可以用于限制用户访问某些网站或内容。例如,学校或公司可以通过代理服务器控制员工或学生可以访问的网站。
2、缓存:HTTP代理可以缓存请求和响应以提高性能。当代理服务器收到请求时,它可以先检查缓存,如果缓存中存在请求的响应,那么就可以立即返回响应,而无需向服务器发起请求。
3、地理位置伪装:HTTP代理可以用于伪装客户端的地理位置。当代理服务器收到请求时,它可以更改请求的来源IP地址,以使服务器认为请求来自另一个地理位置。
可使用的场景还是非常之多的。
那么购买后的住宅IP如何使用呢?都有哪些方法?(爬虫 代理)
1:网络爬虫使用
动态住宅IP相比使用人群最多的就是爬虫用户了,因为爬虫用户需要不断的更换IP地址来避免ip地址被封,下面我们来看一下,如何使用爬虫程序来链接住宅IP:
代码如下:
import requests
from bs4 import BeautifulSoup
url = 'https://www.SmartProxy.cn//nn/' # smart住宅IP地址
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36'
}
# 获取网页源码
html = requests.get(url, headers=headers).text
# 使用BeautifulSoup解析网页源码
soup = BeautifulSoup(html, 'lxml')
# 找到所有的住宅IP
ips = soup.find_all('tr')
# 循环获取每个住宅IP的详细信息
for i in range(1, len(ips)):
ip_info = ips[i]
tds = ip_info.find_all('td')
ip = tds[1].text
port = tds[2].text
address = tds[3].text.replace('\n', '').replace(' ', '')
proxy_type = tds[5].text.replace('\n', '').replace(' ', '')
# 打印住宅IP的详细信息
print(f'IP:{ip} 端口:{port} 地址:{address} 代理类型:{proxy_type}')
1.2如何利用爬虫程序自动更换住宅IP地址?(轮换代理爬虫)
由于不同网站可能需要使用不同的爬虫工具,这里提供一个使用Python中requests库和代理池(proxy pool)的示例程序,你可以根据自己的需求进行修改。
import requests
from urllib3.exceptions import MaxRetryError, NewConnectionError
from requests.adapters import HTTPAdapter
from requests.packages.urllib3.util.retry import Retry
import random
# 自定义requests请求函数,使用代理池和重试机制
def requests_retry_session(retries=3, backoff_factor=0.3, status_forcelist=(500, 502, 504), proxy=None):
session = requests.Session()
retry = Retry(
total=retries,
read=retries,
connect=retries,
backoff_factor=backoff_factor,
status_forcelist=status_forcelist,
)
adapter = HTTPAdapter(max_retries=retry)
session.mount('http://', adapter)
session.mount('https://', adapter)
if proxy:
session.proxies = {
'http': proxy,
'https': proxy
}
return session
# 定义代理池列表
proxies_list = [
'http://proxy1:port',
'http://proxy2:port',
'http://proxy3:port',
# 可以添加更多的代理地址
]
# 随机选择一个代理地址
proxy = random.choice(proxies_list)
# 使用requests_retry_session函数发送请求
try:
response = requests_retry_session(proxy=proxy).get(url)
# 在这里处理响应内容
except (MaxRetryError, NewConnectionError) as e:
print(f"请求出错:{str(e)}")
在这个示例程序中,使用了自定义的requests_retry_session函数,该函数实现了重试机制,并通过session.proxies参数指定了使用的代理地址。
然后,在每次请求之前,使用random.choice函数从代理池列表中随机选择一个代理地址。
如果请求失败,则会抛出MaxRetryError或NewConnectionError异常,可以根据需要进行异常处理。
2. 直接通过电脑系统直接使用
电脑系统直接设置住宅IP使用
要通过电脑系统设置住宅IP使用,你可以按照以下步骤进行操作:
1、打开控制面板:点击“开始”按钮,在搜索框中输入“控制面板”,然后按下“回车”键。
2、找到“网络和共享中心”:在控制面板中,找到“网络和共享中心”选项,然后点击它。
3、找到“更改适配器设置”:在“网络和共享中心”中,点击左侧面板中的“更改适配器设置”选项。
4、找到你要设置代理的网络适配器:找到你要设置代理的网络适配器,右键点击它,然后选择“属性”。
5、找到“Internet 协议版本 4 (TCP/IPv4)”:在适配器属性窗口中,找到“Internet 协议版本 4 (TCP/IPv4)”选项,然后点击“属性”。
6、配置代理服务器:在“Internet 协议版本 4 (TCP/IPv4)属性”窗口中,选择“使用下面的代理服务器地址”,然后输入代理服务器地址和端口号。
7、点击“确定”并保存更改:完成上述设置后,点击“确定”按钮保存更改即可。
请注意,这是一个基本的步骤指南,具体步骤可能因不同的操作系统版本或网络配置而略有不同。