小编典典

Python检查网站是否存在

python

我想检查某个网站是否存在,这就是我正在做的事情:

user_agent = 'Mozilla/20.0.1 (compatible; MSIE 5.5; Windows NT)'
headers = { 'User-Agent':user_agent }
link = "http://www.abc.com"
req = urllib2.Request(link, headers = headers)
page = urllib2.urlopen(req).read() - ERROR 402 generated here!

如果该页面不存在(错误402或其他任何错误),我可以在该page = ...行中做什么以确保正在读取的页面退出?


阅读 163

收藏
2020-12-20

共1个答案

小编典典

您可以使用HEAD请求而不是GET。它将仅下载标题,而不下载内容。然后,您可以从标题中检查响应状态。

import httplib
c = httplib.HTTPConnection('www.example.com')
c.request("HEAD", '')
if c.getresponse().status == 200:
   print('web site exists')

或者你可以使用 urllib2

import urllib2
try:
    urllib2.urlopen('http://www.example.com/some_page')
except urllib2.HTTPError, e:
    print(e.code)
except urllib2.URLError, e:
    print(e.args)

或者你可以使用 requests

import requests
request = requests.get('http://www.example.com')
if request.status_code == 200:
    print('Web site exists')
else:
    print('Web site does not exist')
2020-12-20