jiangxianli / ProxyIpLib

全球免费代理IP库,高可用IP,精心筛选优质IP,2s必达
https://ip.jiangxianli.com
849 stars 179 forks source link

为啥获取起来很慢啊 #16

Closed mckuhei closed 3 years ago

mckuhei commented 3 years ago
import requests,traceback,sys,time
space=" "*20+"\b"*20

def getProxies():
    print("正在获取代理")
    r=requests.get("https://ip.jiangxianli.com/api/proxy_ips?order_by=speed").json()
    if not r["code"]:
        for i in r["data"]["data"]:
            yield f'{i["protocol"]}://{i["ip"]}:{i["port"]}'
        time.sleep(1)
        for j in range(2,r["data"]["total"]+1):
            r=requests.get(f"https://ip.jiangxianli.com/api/proxy_ips?order_by=speed,page={j}").json()
            if not r["code"]:
                for i in r["data"]["data"]:
                    yield f'{i["protocol"]}://{i["ip"]}:{i["port"]}'
            time.sleep(1)
    print("代理获取完成")

for i in getProxies():
    #print(i)
    #sys.stdout.write(f"\r{i}{space}")
    #sys.stdout.flush()
    try:
        if requests.get("http://api.bilibili.com/x/web-interface/zone",proxies={"http":i,"https":i},timeout=5).text in i:
            print(i)
    except KeyboardInterrupt: break
    except:pass#traceback.print_exc()
#sys.stdout.write(space)
mckuhei commented 3 years ago

没事了,是我傻了,我就说为什么这么慢