|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
学习写了翻译软件,中间使用代理ip,如下代码获取代理ip,结果获取的大部分验证都不能用,大家都怎么使用代理ip的?
- def get_proxy_ip(index = 'index'):
- """
- 随机获取ip地址列表
- :param index: 页码索引
- :return:
- """
- # url = 'http://www.whatismyip.com.tw' # 查看真实ip网址
- url = 'http://www.66ip.cn/' + str(index) + '.html'
- req = Request(url)
- req.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0')
- response = urlopen(req).read()
- # print response
- # print chardet.detect(response)#获取编码格式
- # 创建匹配ip和端口的规则,网站格式:<tr><td>180.110.6.137</td><td>808</td>
- p = re.compile(r'((?:(?:[01]?\d?\d|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d?\d|2[0-4]\d|25[0-5]))</td><td>(\d+)')
- ip_list = p.findall(response)
- # print ip_list
- while True:
- ip_port = random.choice(ip_list) # 随机选取列表中的一个IP地址和端口
- # print ip_port
- # 检查ip是否可用,如不可用,删除该ip并更换一个
- if not check_proxy_ip(ip_port):
- ip_list.remove(ip_port) # 删除这个IP地址
- else:
- break
- return ip_port
- def check_proxy_ip(ip_port):
- """
- 检查代理ip是否可用
- :return:
- """
- try:
- telnetlib.Telnet(ip_port[0], port = ip_port[1], timeout = 20)
- except:
- print 'The IP is not available!'
- return False
- else:
- print 'The IP is available!'
- print ('ip port', ip_port)
- return True
复制代码
http://cn-proxy.com/ 这个网站上的代理用过几个 倒是都能用,不知道你那个网站代理IP的咋样
|
|