2012-11-16 49 views
0

假設我是給該URL列表:鑑於一個大的網址列表,有什麼方法可以檢查哪些是活動/不活動?

website.com/thispage

website.com/thatpage

website.com/thispageagain

website.com/thatpageagain

website.com/morepages

...可能會超過1k個URL。

什麼是最好/最簡單的方法來循環瀏覽這個列表並檢查頁面是否啓動?

+0

可能重複[Python的驗證URL轉到頁] (http://stackoverflow.com/questions/4041443/python-verify-url-goes-to-a-page) – finnw

回答

4

對其中的每一個執行HEAD請求。

使用這個庫:http://docs.python-requests.org/en/latest/user/quickstart/#make-a-request

requests.head('http://httpbin.org/get').status_code 
+0

可以提供我一個片段?我記得使用了python的一些東西,但不能想到模塊的名稱。 – iCodeLikeImDrunk

+0

@yaojiang你爲什麼不看這個:http://docs.python-requests.org/en/latest/,當你用自己的代碼碰到障礙時回來。 – Marcin

+0

美妙,生病檢查出來!我在想像「url.open(site).getcode」,但我確定語法和函數名稱都是錯誤的。 – iCodeLikeImDrunk

1

打開一個線程池,打開一個URL每個,等待200或404沖洗和重複。

4

這裏是在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 
相關問題