【pyhton爬虫IP问题】

最近在爬一个网站,发现被远程服务端直接关闭连接了

我不清楚他是可以拿到我真实IP么?我挂梯子用了代理也不行

5 个赞

挂代理能跑一会儿,但是还是会断开,明显没有第一次爬的数据多,应该不是他们跑新增了某些机制,而是触发了已有的防爬机制

爬虫反爬一般都会对ip有限制,比如rate limit; 可以找一下代理池,自动切换IP可以解决这种问题

看到过简单粗暴的处理:不管是不是真实IP,一段时间内,同一个IP访问超过一定频率,就判定为爬虫

有尝试过,是指这样么?

ip_list = [
    "61.147.115.133:1080",
    "42.49.148.167:9001",
    "111.8.155.54:7777",
    "110.167.201.197:1080",
    "120.253.8.42:7302",
    "8.142.3.145:3306",
    "223.112.53.2:1025",
    "112.26.210.141:7302",
    "61.178.94.23:7302",
    "120.198.145.18:7302",
    "121.13.251.112:7302",
    "39.101.65.228:8082",
    "8.130.34.237:8000",
    "8.130.34.237:50001",
    "39.101.65.228:81",
    "8.130.34.44:2121",
    "8.130.34.44:5555",
    "8.130.36.245:6000",
    "139.198.120.15:29527",
    "114.236.93.203:15599",
    "58.222.132.164:7300",
    "139.198.29.235:3128",
    "61.164.246.37:19459",
    "221.224.44.91:7302",
    "36.111.191.127:1080",
    "8.130.36.245:5555",
    "49.235.84.38:4399",
    "61.173.31.173:1080"
]
# 创建IP池
ip_pool = IPPool(ip_list)

ip = ip_pool.get_ip()  # 从IP池中获取IP
ip_res = requests.get('https://share.proxy.qg.net/pool?key=799DA40D&num=1&area=&isp=0&format=txt&seq=\r\n&distinct=false')
ip = str(ip_res.text.strip())
proxies = {
 http': f'http://{ip}',
 https': f'http://{ip}'  # 如果需要,可以分别设置http和https的代理
 }
res_data = requests.get(url, headers={'User-Agent': user_agent}, proxies = proxies, cookies=cookie_jar, verify=False).json()

我看你传了cookie,这感觉可能是根据cookie封的

我很确信不是通过cookie封的,在使用这个cookie被封的同时,我网页端也在访问中,是一直正常使用的

反爬的情况很复杂 任何细节都有可能会 最常见的就是IP 访问频次 UA header cookie 还有可能你用的requests库特征直接被人家反了

1 个赞