假设我给出了这个 url 列表:
website.com/thispage
website.com/thatpage
website.com/thispageagain
website.com/thatpageagain
website.com/morepages
... 可能超过 1k 个网址。
遍历此列表并检查页面是否已启动的最佳/最简单方法是什么?
假设我给出了这个 url 列表:
website.com/thispage
website.com/thatpage
website.com/thispageagain
website.com/thatpageagain
website.com/morepages
... 可能超过 1k 个网址。
遍历此列表并检查页面是否已启动的最佳/最简单方法是什么?
这是 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
对它们中的每一个执行 HEAD 请求。
使用这个库:http ://docs.python-requests.org/en/latest/user/quickstart/#make-a-request
requests.head('http://httpbin.org/get').status_code
有一个 SO 答案显示了如何在 Python 中执行 HEAD 请求:
打开一个线程池,为每个线程打开一个 Url,等待 200 或 404。冲洗并重复。