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