我有一些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 Error 407: Proxy Authentication Required
HTTPError: HTTP Error 407: Proxy Authentication Required
是否有人能够帮助我创建一些有用的例子,我们将不胜感激。
答案 0 :(得分:1)
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')