例如,我有一些 http 代理:
123.123.123.123:2312
121.111.3.89:8080
111.133.1.111:23810
114.113.1.113:23812
111.133.1.114:23810
它们都有相同的用户名和密码:testuser 和 testpass
我正在尝试为以下内容加入随机代理支持:
import urllib2
import httplib
def check():
try:
urllib2.urlopen("", timeout = 60)
return True
except (IOError, httplib.HTTPException):
return False
还尝试将其合并到以下内容中:
import mechanize
def gethtml():
post_url = ""
browser = mechanize.Browser()
browser.set_handle_robots(False)
browser.addheaders = [('User-agent', 'Firefox')]
try:
html = browser.open(post_url).read()
except Exception:
return
还有类似的:
import mechanize
def check2():
post_url = ""
browser = mechanize.Browser()
browser.set_handle_robots(False)
browser.addheaders = [('User-agent', 'Firefox')]
parameters = {'page' : '1',
'sortorder' : 'asc'
}
data = urllib.urlencode(parameters)
try:
trans_array = browser.open(post_url,data).read().decode('UTF-8')
except Exception:
return
我最大的问题是我尝试过的所有方法,我都遇到了以下两个错误:
httperror_seek_wrapper:HTTP 错误 407:需要代理身份验证
HTTPError:HTTP 错误 407:需要代理身份验证
谁能帮我创建一些工作示例,我将不胜感激。
请您参考如下方法:
mechanize 的“随机代理支持”?那只是regular mechanize proxy stuff吗? ,但使用从您的代理列表中随机选择的代理?
如果是这样,你可以试试这个:
import mechanize
import random
proxies = [
'123.123.123.123:2312',
'121.111.3.89:8080'
'111.133.1.111:23810',
'114.113.1.113:23812',
'111.133.1.114:23810',
]
rand_proxy = random.choice(proxies)
browser = mechanize.Browser()
browser.set_proxies({'http': rand_proxy})
browser.add_proxy_password('testuser', 'testpass')
