0

私がこのURLのリストを与えていたとしましょう:

website.com/thispage

website.com/thatpage

website.com/thispageagain

website.com/thatpageagain

website.com/morepages

...おそらく1kのURLを超えている可能性があります。

このリストをループして、ページが開いているかどうかを確認するための最良/最も簡単な方法は何ですか?

4

4 に答える 4

5

それぞれに対してHEADリクエストを実行します。

このライブラリを使用します:http://docs.python-requests.org/en/latest/user/quickstart/#make-a-request

requests.head('http://httpbin.org/get').status_code
于 2012-11-16T21:38:22.443 に答える
5

これがPythonの例です

import httplib2

h = httplib2.Http()
listUrls = ['http://www.google.com','http://www.xkcd.com','http://somebadurl.com']
count = 0

for each in listUrls:
    try:
        response, content = h.request(listUrls[count])
        if response.status==200:
            print "UP"
    except httplib2.ServerNotFoundError:
        print "DOWN"
    count = count + 1
于 2012-11-16T22:41:07.097 に答える
2

PythonでHEADリクエストを実行する方法を示すSOの回答があります。

Python2でHEADHTTPリクエストをどのように送信しますか?

于 2012-11-16T21:42:20.437 に答える
1

スレッドのプールを開き、それぞれのURLを開き、200または404を待ちます。すすぎ、繰り返します。

于 2012-11-16T21:39:43.033 に答える