Python验证URL转到页面

Joh*_*ohn 7 python

我有一个网址列表(1000+)已存储超过一年了.我想彻底验证它们以确定它们是否仍然存在.检查所有这些并返回不返回站点的列表的最佳/最快方法是什么?

mou*_*uad 11

这有点慢,但你可以使用这样的东西来检查网址是否有效

import urllib2

try:
    urllib2.urlopen(url)
    return True         # URL Exist
except ValueError, ex:
    return False        # URL not well formatted
except urllib2.URLError, ex:
    return False        # URL don't seem to be alive
Run Code Online (Sandbox Code Playgroud)

比urllib2更快,你可以使用httplib

import httplib

try:
    a = httplib.HTTPConnection('google.com')
    a.connect()
except httplib.HTTPException as ex:
    print "not connected"
Run Code Online (Sandbox Code Playgroud)

你也可以进行DNS结账(检查网站是否不存在不是很方便):

import socket

try:
    socket.gethostbyname('www.google.com')
except socket.gaierror as ex:
    print "not existe"
Run Code Online (Sandbox Code Playgroud)