Dies ist das Skript:
import requests
import json
import urlparse
from requests.adapters import HTTPAdapter
s = requests.Session()
s.mount('http://', HTTPAdapter(max_retries=1))
with open('proxies.txt') as proxies:
for line in proxies:
proxy=json.loads(line)
with open('urls.txt') as urls:
for line in urls:
url=line.rstrip()
data=requests.get(url, proxies=proxy)
data1=data.content
print data1
print {'http': line}
wie Sie sehen können, versucht es, auf eine Liste von URLs über eine Liste von Proxies zuzugreifen. Hier ist die Datei urls.txt:
http://api.exip.org/?call=ip
Hier ist die Datei proxies.txt:
{"http":"http://107.17.92.18:8080"}
Ich habe diesen Proxy von www.hidemyass.com erhalten. Könnte es ein schlechter Proxy sein? Ich habe mehrere ausprobiert und dies ist das Ergebnis. Hinweis: Wenn Sie dies nachstellen möchten, müssen Sie den Proxy möglicherweise gegen einen neueren auf hidemyass.com aktualisieren. Sie scheinen früher oder später aufzuhören zu funktionieren. Hier ist der vollständige Fehler und Traceback:
Traceback (most recent call last):
File "test.py", line 17, in
data=requests.get(url, proxies=proxy)
File "/usr/local/lib/python2.7/dist-packages/requests/api.py", line 55, in get
return request('get', url, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests/api.py", line 44, in request
return session.request(method=method, url=url, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 335, in request
resp = self.send(prep, **send_kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 454, in send
history = [resp for resp in gen] if allow_redirects else []
File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 144, in resolve_redirects
allow_redirects=False,
File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 438, in send
r = adapter.send(request, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/requests/adapters.py", line 327, in send
raise ConnectionError(e)
requests.exceptions.ConnectionError: HTTPConnectionPool(host=u'219.231.143.96', port=18186): Max retries exceeded with url: http://www.google.com/ (Caused by : '')