Python中如何使用国外的HTTP代理库?

公司有个爬虫项目,需要使用指定国家的 http,找了好几个服务商都不太合适,主要都是国家太少,好不容易找到一家,研究了半天,结果对方说不支持 goole 的爬虫,我这边需要抓取 goole play。求大神介绍个服务商,跪谢!!
Python中如何使用国外的HTTP代理库?

32 回复

国外的么


import requests

# 基础使用示例
proxies = {
    'http': 'http://user:pass@proxy_ip:proxy_port',
    'https': 'http://user:pass@proxy_ip:proxy_port'
}

response = requests.get('http://example.com', proxies=proxies, timeout=10)

# 更完整的示例,包含错误处理
import requests
from requests.exceptions import ProxyError, Timeout

def make_request_with_proxy(url, proxy_dict, max_retries=3):
    """
    使用代理发送HTTP请求
    
    Args:
        url: 目标URL
        proxy_dict: 代理配置字典
        max_retries: 最大重试次数
    """
    session = requests.Session()
    session.proxies.update(proxy_dict)
    
    for attempt in range(max_retries):
        try:
            response = session.get(url, timeout=15)
            response.raise_for_status()  # 检查HTTP状态码
            return response
            
        except ProxyError as e:
            print(f"代理错误 (尝试 {attempt + 1}/{max_retries}): {e}")
            if attempt == max_retries - 1:
                raise
            
        except Timeout:
            print(f"请求超时 (尝试 {attempt + 1}/{max_retries})")
            if attempt == max_retries - 1:
                raise
            
        except requests.exceptions.RequestException as e:
            print(f"请求失败: {e}")
            raise
    
    return None

# 使用示例
if __name__ == "__main__":
    # 配置代理 - 替换为实际的代理信息
    my_proxies = {
        'http': 'http://username:password@192.168.1.100:8080',
        'https': 'http://username:password@192.168.1.100:8080'
    }
    
    try:
        result = make_request_with_proxy(
            'https://httpbin.org/ip', 
            my_proxies
        )
        if result:
            print(f"请求成功!响应内容: {result.text}")
            
    except Exception as e:
        print(f"最终失败: {e}")

# 对于需要认证的代理,还可以这样配置
from requests.auth import HTTPProxyAuth

proxy_with_auth = {
    'http': 'http://proxy_ip:proxy_port',
    'https': 'http://proxy_ip:proxy_port'
}

session = requests.Session()
session.proxies = proxy_with_auth
session.auth = HTTPProxyAuth('username', 'password')

核心就这几步:1)配好代理字典,2)传给requests,3)做好错误处理。记得代理地址要换成能用的。

google ?

是的,需要能指定国家的

需要使用指定国家的 IP,抓取 goole 的内容

自己维护个池吧,我之前做的一个池,总计 8000 个 ip 左右,800 个可用 ip 还是有的,至于国家,那就离线 ip 库查一下,很快的。

什么国家呢 ?

google play 我爬过 而且很成功 可以拿到所有 sdk 版本的 apk 等
代理 IP 搭车来一波
https://proxy.coderbusy.com

需要什么国家,还有预算?

高匿普匿什么意思呢

如果是爬 Google Play,可以选择买特定国家的账号。账号锁区了之后,无论是哪儿的 IP,都是锁区的数据。

能获取中国大陆 ip 的代理吗?

还是跟 IP 有关的 感觉 IP 的成本比锁区小好多

大部分都是国内的 地址归属地不久上线 已经在开发中了

其实 我最初的做法是开多个 ssr,非常好用。

我想用脚本获取你最快的国内代理…访问国内网站用, 如果你的代理稳定的话. 目前用的网站一个个都关了.

公司项目应该有预算吧,买对应国家的 vps 或服务器,根据预算多绑些 IP

我发现 lz 就没打对过 google 这个词

对方当然不支持 goole 啦,你从来都没打对过(笑

自用的话 付费的 ssr 会好很多

借楼问下 ip 池初始的 IP 资源是网上公开的爬取的么?

那你的 google play 是区别国家的吗? 不同国家的排行榜都是不同的,google play 会先根据 IP 去确认语言的~

这个量会比较少,我们这边抓取量每天至少是百万级的,这个 IP 数完全不够用,且需要大部分主流国家的 IP。

大部分主流国家都是需要的,具体费用可以去申请。

买账号肯定不行的,一个是抓取频率限制,且费用比买 IP 高多了。

不要在意这么多细节,哈哈

朋友,有国外的 IP 么~~

再麻烦下,剩下的 ip 是通过脚本遍历 ip 验证是不是代理找出来的?还是有什么方法啊?机密的话就算啦。多谢!

这肯定要持续更新可用 IP 的,不过验证速度很快的,超时设置短一点即可。

试过 crawlera 吗

www.rola-ip.site 不错,全球 210+国家 IP,支持 http/socks 协议。全部高匿名 IP 。爬过 amazon 。。。溜

回到顶部