iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >使用python批量检查url的有效性
  • 103
分享到

使用python批量检查url的有效性

批量有效性python 2023-01-31 05:01:03 103人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

因为工作需要,之前用python写了一些批量校验url有效性的小脚本,但并不全面,健壮性较差,现把之整理一下,代码如下: #!/usr/bin/Python # -*- coding:utf-8 -*- import urllib2 f

因为工作需要,之前用python写了一些批量校验url有效性的小脚本,但并不全面,健壮性较差,现把之整理一下,代码如下:

#!/usr/bin/Python
# -*- coding:utf-8 -*-

import urllib2
from urllib2 import URLError

result_url=[]
count=0
not_200=0
f=open("img1.txt","r")
img_not_200=open("img_not_200.txt","w+")

for line in f:
    count+=1
    print "on scanning ",count
    try:
    	response=urllib2.urlopen(line)
    except URLError, e:
    	if hasattr(e,'reason'): #stands for URLError
    		print "can not reach a server,writing..."
    		result_url.append(line)
    		not_200+=1
    		img_not_200.write(line)
    		print "write url success!"
    	elif hasattr(e,'code'): #stands for HttpError
    		print "find http error, writing..."
    		result_url.append(line)
    		not_200+=1
    		img_not_200.write(line)
    		print "write url success!"
    	else: #stands for unknown error
    		print "unknown error, writing..."
    		result_url.append(line)
    		not_200+=1
    		img_not_200.write(line)
    		print "write url success!"
    else:
    	#print "url is reachable!"
    	#else 中不用再判断 response.code 是否等于200,若没有抛出异常,肯定返回200,直接关闭即可
    	response.close()
    finally:
    	pass

print "scanning over,total",count,"; did not response 200:",not_200
f.close()
img_not_200.close()

对这段代码解析如下:

如果url有效,则可以正常通过urlopen取到response,并且response.getcode()等于200;

但若url无效,无论是无法找到服务器还是其他http错误,都无法通过urlopen返回response。这个时候,就需要通过返回的错误类型来判断错误到底是url错误还是http错误。上面的程序是通过错误类型所拥有的属性来判断的。如果错误类型有“code”属性,则代表错误是HTTPError;如果属性有“reason”,则代表是URLError错误。

当然,也可以在except中分别指定抛出的错误类型,进而进行不同的处理。所要注意的是,因为HTTPError是URLError的子类,所以必须在第一个except中指定捕获HTTPError,第二个except中指定捕获URLError,否则的话,你懂的。。

--结束END--

本文标题: 使用python批量检查url的有效性

本文链接: https://www.lsjlt.com/news/188352.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 使用python批量检查url的有效性
    因为工作需要,之前用python写了一些批量校验url有效性的小脚本,但并不全面,健壮性较差,现把之整理一下,代码如下: #!/usr/bin/python # -*- coding:utf-8 -*- import urllib2 f...
    99+
    2023-01-31
    批量 有效性 python
  • 利用python批量检查网站的可用性
    前言 随着站点的增多,管理复杂性也上来了,俗话说:人多了不好带,我发现站点多了也不好管,因为这些站点里有重要的也有不重要的,重要核心的站点当然就管理的多一些,像一些万年都不出一次问题的,慢慢就被自己都淡忘了...
    99+
    2022-06-04
    可用性 批量 网站
  • 如何使用python批量登录带有验证码的网站
    小编给大家分享一下如何使用python批量登录带有验证码的网站,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!python主要应用领域有哪些1、云计算,典型应用OpenStack。2、WEB前端开发,众多大型网站均为Pyth...
    99+
    2023-06-14
  • Oracle中批量查询、删除、更新使用BULK COLLECT提高效率的示例分析
    这篇文章将为大家详细讲解有关Oracle中批量查询、删除、更新使用BULK COLLECT提高效率的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。BULK COL...
    99+
    2022-10-18
  • Python使用描述符实现属性类型检查的案例解析
    目录1、如何使用描述符对实例属性做类型检查?实际案例:解决方案:2、代码演示1、如何使用描述符对实例属性做类型检查? 实际案例: 在某项目中,我们实现了一些类,并希望能像静态类型语言...
    99+
    2022-11-11
  • 使用python制作一个批量查询搜索排名的SEO免费工具
    💂 个人网站:【海拥】【摸鱼游戏】【神级源码资源网】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 寻找学习交流...
    99+
    2023-08-31
    python 开发语言
  • Python 中如何使用容器来验证二维码的有效性?
    二维码是一种非常方便的信息传递方式,它可以在短时间内传递大量信息。但是,有些二维码可能会被篡改或伪造,这会导致信息的泄露和误导。因此,在使用二维码传递敏感信息时,需要对二维码的有效性进行验证。本文将介绍如何使用 Python 中的容器来验...
    99+
    2023-08-22
    关键字 二维码 容器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作