0

今、これはスクリプトです:

import json
import urllib2  

with open('urls.txt') as f:
    urls = [line.rstrip() for line in f]
with open('proxies.txt') as proxies:
    for line in proxies:
        proxy = json.loads(line)
        proxy_handler = urllib2.ProxyHandler(proxy)
        opener = urllib2.build_opener(proxy_handler)
        urllib2.install_opener(opener)
        for url in urls:
            data = urllib2.urlopen(url).read()
            print data

これは urls.txt ファイルです。

http://myipaddress.com

および proxies.txt ファイル:

{"https": "https://87.98.216.22:3128"}
{"https": "http://190.153.7.189:8080"}
{"https": "http://125.39.68.181:80"}

http://hidemyass.comで入手したもの

私は、端末出力 (大量の html) を調べて、どこかに IP アドレスが表示されているかどうかを確認し、それがプロキシ IP の 1 つであることを期待して、テストしようとしています。しかし、これはうまくいかないようです。IP 認識サイトによっては、接続エラーがスローされるか、検証文字を入力する必要があることが通知されます (ただし、ブラウザーから表示されたサイトは正常に動作します)。

それで、私はこれを最善の方法で行っていますか?URL に表示されている IP アドレスを確認する簡単な方法はありますか?

編集:別のフォーラムで、URLが別のIPからアクセスされているかどうかを確認する1つの方法は、クロスヘッダーを確認することだと聞きました(htmlヘッダーがリダイレクトされたことを示しているように)。しかし、これ以上の情報は見つかりません。

4

1 に答える 1

2

このようなシンプルなサイトを使用できます。例:

コード:

import json 
import urllib2

with open('urls.txt') as f:
    urls = [line.rstrip() for line in f]
with open('proxies.txt') as proxies:
    for line in proxies:
        proxy = json.loads(line)
        proxy_handler = urllib2.ProxyHandler(proxy)
        opener = urllib2.build_opener(proxy_handler)
        urllib2.install_opener(opener)
        for url in urls:
            try:
                data = urllib2.urlopen(url).read()
                print proxy, "-", data 
            except:
                print proxy, "- not working"

urls.txt:

http://api.exip.org/?call=ip

proxies.txt:

{"http": "http://218.108.114.140:8080"}
{"http": "http://59.47.43.93:8080"}
{"http": "http://218.108.170.172:80"}

出力:

{u'http': u'http://218.108.114.140:8080'} - 218.108.114.140
{u'http': u'http://59.47.43.93:8080'} - 118.207.240.161
{u'http': u'http://218.108.170.172:80'} - not working
[Finished in 25.4s]

注: これはどれも私の実際の IP ではありません。

または、 http://myipaddress.comを使用したい場合は、BeautifulSoup を使用して、IP を含む正確な HTML 要素を抽出することでそれを行うことができます。

于 2013-08-21T12:27:01.120 に答える