0

假设我给出了这个 url 列表:

website.com/thispage

website.com/thatpage

website.com/thispageagain

website.com/thatpageagain

website.com/morepages

... 可能超过 1k 个网址。

遍历此列表并检查页面是否已启动的最佳/最简单方法是什么?

4

4 回答 4

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 回答
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 回答
2

有一个 SO 答案显示了如何在 Python 中执行 HEAD 请求:

如何在 Python 2 中发送 HEAD HTTP 请求?

于 2012-11-16T21:42:20.437 回答
1

打开一个线程池,为每个线程打开一个 Url,等待 200 或 404。冲洗并重复。

于 2012-11-16T21:39:43.033 回答