gpt4 book ai didi

Python脚本可以在不下载整个页面的情况下查看网页是否存在?

转载 作者:IT老高 更新时间:2023-10-28 21:17:28 25 4
gpt4 key购买 nike

我正在尝试编写一个脚本来测试网页是否存在,如果它能够在不下载整个页面的情况下进行检查会很好。

这是我的出发点,我已经看到多个示例以相同的方式使用 httplib,但是,我检查的每个站点都只是返回 false。

import httplib
from httplib import HTTP
from urlparse import urlparse

def checkUrl(url):
p = urlparse(url)
h = HTTP(p[1])
h.putrequest('HEAD', p[2])
h.endheaders()
return h.getreply()[0] == httplib.OK

if __name__=="__main__":
print checkUrl("http://www.stackoverflow.com") # True
print checkUrl("http://stackoverflow.com/notarealpage.html") # False

有什么想法吗?

编辑

有人提出这个建议,但他们的帖子被删除了.. urllib2 是否避免下载整个页面?

import urllib2

try:
urllib2.urlopen(some_url)
return True
except urllib2.URLError:
return False

最佳答案

这个怎么样:

import httplib
from urlparse import urlparse

def checkUrl(url):
p = urlparse(url)
conn = httplib.HTTPConnection(p.netloc)
conn.request('HEAD', p.path)
resp = conn.getresponse()
return resp.status < 400

if __name__ == '__main__':
print checkUrl('http://www.stackoverflow.com') # True
print checkUrl('http://stackoverflow.com/notarealpage.html') # False

这将发送一个 HTTP HEAD 请求,如果响应状态码为 <400,则返回 True。

  • 请注意,StackOverflow 的根路径返回重定向 (301),而不是 200 OK。

关于Python脚本可以在不下载整个页面的情况下查看网页是否存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6471275/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com