python超链接_使用python测试网页中超链接的连通性(原创)

$T6`Mb*M)k0  在web测试,对网页中的超链接进行测试是最基本的工作,最简便的方法当然是使用像xenu之类的工具。但它具体是怎么实现的呢?我想也无外乎是通过http协议,根据超链接地址,向服务端发送请求,然后根据返回的信息进行判断连接的状态。下面是根据这种思路,用python编写的检测网页链接连通性的程序。D~%i-xH)x1wx`+T051Testing软件测试网i*e'{6~3a

[Z3N

首先,建立一个示例网页,其中link1,lin3是不连通的,link2,link4是有效链接6HK1H8[{&Rm051Testing软件测试网QU4@0k+HM9}

4c3fi?VEoh0

6[p)iV%b0 link151Testing软件测试网Y0A#z1]'F7m9[

link2

(e%SZ[kd0 link351Testing软件测试网qM$DHGd!ms

link451Testing软件测试网.JnS.s-DF6q

_(N"\K&Yud.@p,a051Testing软件测试网.UZ-C3U_ PA

使用python进行链接检测,要使用到4个重要模块,过程就是通过urllib抓取目标网页的html代码,然后通过sgmllib模块解析html,获取超链接的列表。然后使用urlparse解析超链接的url,供httplib使用。然后由httplib模块进行最后的请求及验证回复的过程。51Testing软件测试网0YGs9T

S51Testing软件测试网o-^x:?;|.a

sgmllib :用于HTML解析,解析出网页中包含的超链接51Testing软件测试网wGMf@51Testing软件测试网-r~|"L5v7\:o8[

httplib:用于Http协议的操作51Testing软件测试网/|`*NJ1Y)G51Testing软件测试网sO?s'@O1V)PGG

urllib:用于获取网页的html代码51Testing软件测试网fydcI51Testing软件测试网ES3NN Kk,['P

urlparse:解析url地址,把url地址解析成几个部分。cHBr5y'vQd051Testing软件测试网i:T GiL8?

具体实现代码如下:m(oT&aRU0

~RdDet0#-×-coding:gb2312-*-51Testing软件测试网YY&WX[-B0h

import httplib,urllib,urlparse

r|\b5h9n%z4|'g8[0from sgmllib import SGMLParser

0vhyx2A/APhy w0#解析指定的网页的html,得到该页面的超链接列表51Testing软件测试网WiR`D@yHI

class URLLister(SGMLParser):51Testing软件测试网&_#u{,t

TW.v3Y.Y

def reset(self):51Testing软件测试网a(j$R#X-@]aG"y

SGMLParser.reset(self)

{R dmc$`z/R0        self.urls = []51Testing软件测试网n4iN5Ldrh&t

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值