找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 5833|回复: 3

[已回复] python 用来判断网页是否正常

7

主题

15

帖子

15

积分

贫民

积分
15
z2807866996 发表于 2016-7-15 09:54:42 | 显示全部楼层 |阅读模式
#-*- coding: utf-8 -*-
import urllib
import urllib2

url = 'http://www.baidssu.com.com'
try:
    resp = urllib.urlopen(url)
    code = resp.getcode()
    print ('the result is:',code)
except urllib2.URLError,e:
    print e.reason

我发现就算网页不存在,他返回的结果仍是200.
求大神指导,如何解决

回复

使用道具 举报

5

主题

101

帖子

101

积分

版主

Rank: 7Rank: 7Rank: 7

积分
101

最佳新人活跃会员热心会员突出贡献

QQ
落叶秋风 发表于 2016-7-17 21:02:47 | 显示全部楼层
最近写了几个爬虫的程序,因为是需要下载美女图片,而拿到了图片地址之后下载时发现有些时候因为网络原因读取超时或者是网站本身原因无法打开,就像楼主你描述的这种网站不正常,所以我总结了一些经验,比如楼主说的不正常的网站是那种不存在的网站,像这段代码这么处理
def getUrl_multiTry(url):
        """
            功能:爬图类网站源码读取函数
            :参数名    类型          描述
            :url       string       网站地址
        """
        maxTryNum = 10
        html = ""
        for tries in range(maxTryNum):
            try:
                request = urllib2.Request(url)
                request.add_header('User-Agent', 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)')
                response = urllib2.urlopen(request)
                html = response.read()
                break
            except:
                if tries <(maxTryNum-1):
                    continue
                else:
                    # logging.error("Has tried %d times to access url %s, all failed!", maxTryNum, url)
                    break
        return html
网站不存在即读不到网站源码,返回的是一个空的string,这时候我们就可以判断返回的是什么来做相应的处理,可能提供的方法比较粗糙,但是也给楼主一个解决问题的思路-。-
回复 支持 1 反对 0

使用道具 举报

50

主题

1057

帖子

1108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1108

活跃会员热心会员最佳导师默默耕耘突出贡献优秀版主荣誉管理论坛元老

blueelwang 发表于 2016-7-15 14:27:24 | 显示全部楼层
其实你上面的那个地址确实可以打开, 你可以自己试一下!这个确实有点巧合啦,你换一个打不开的地址就可以啦!
而且你的except貌似也不对,可以改成
except Exception, e:
回复 支持 反对

使用道具 举报

5

主题

165

帖子

165

积分

版主

Rank: 7Rank: 7Rank: 7

积分
165

热心会员突出贡献优秀版主荣誉管理

mongo 发表于 2016-7-15 19:24:58 | 显示全部楼层
换句话说 这句except urllib2.URLError,e:
定义异常的范围太小了,如果出现不属于该异常的情况,你就会捕捉不到,程序就会出错
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表