ASP提取html内指定内容
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ASP提取html内指定内容相关的知识,希望对你有一定的参考价值。
一个网页源码(.../News.asp?classID=41),页面执行结果<td width="46" height="26" background="img/08.jpg"> </td> <td width="954" align="left" background="img/08.jpg"><img src="img/15.jpg" width="12" height="14" /><span class="lz">站内导航:</span><a href="index.asp">首页</a>>-<a href="News.asp?classID=41">新闻开始</a></td>......<!--新闻代码部分--->..... <td align="center" bgcolor="#FFFFFF"> <A HREF='News.asp?classID=41&Page=1'>新闻结束</A></....... 我想获取这段复杂的html代码中"新闻开始"和"新闻结束"之间的代码.怎么做?已定义好的getHTTPPage功能语句能获取其HTML内容。 Html = getHTTPPage(../News.asp?classID=41) myStr = Replace(Html , "新闻开始","")...
Public Function CheckName(Str)Checkname=True
Dim Rep,pass
Set Rep=New RegExp ' 建立正则表达式。
Rep.Global=True '设置全局可用性。
Rep.IgnoreCase=True'设置是否区分字符大小写
'设置模式。
Rep.Pattern="[u0009u0020u0022-u0028u002C-u002Eu003A-u003Fu005Bu005Cu0060u007Cu007Eu00FFuE5E5]"
Set pass=Rep.Execute(Str) '对指定的字符串执行正则表达式搜索。
If pass.count<>0 Then CheckName=False
'response.Write(Checkname)
'response.End()
Set Rep=Nothing
End Function 参考技术A Html = getHTTPPage(../News.asp?classID=41)
Dim regEx
Set regEx = New RegExp
regEx.Pattern = "新闻开始(.*)新闻结束"
regEx.IgnoreCase = False
regEx.Global = False
myStr=regEx.Replace(Html, "$1")
python之路:始解
此章涉及到的是反射机制
反射主要涉及到以下方法:
hasattr、getattr、setattr、delattr
首先说明他们的作用:
hasattr是用来判断在指定范围内是否存在指定内容的方法
getattr是用来从指定范围内取出指定内容的方法
setattr是用来设置指定范围内指定内容的值的方法
delattr是用来从指定范围内删除指定内容的方法
将这四者串起来的话,首先要从hasattr说起。
比如:
class Person(): def __init__(self,name,age,gender): self.name=name self.age=age self.gender=gender def talk(self): print("%s is talking"%self.name) d=Person("liu",26,"male") select=input("请输入要执行的函数:") if hasattr(d,select)==True: print("此类存在") else: print("此类不存在")
输入talk,则会返回此类存在。
输入其他值,则会返回此类不存在
用了hasattr判断完对象是否存在之后,我们就可以使用getattr取出该对象,如果该对象是个方法的话,那么就可以直接运行此方法,如果该对象是个参数的话,那么我们就可以直接得到该值。
class Person(): def __init__(self,name,age,gender): self.name=name self.age=age self.gender=gender def talk(self): print("%s is talking"%self.name) d=Person("liu",26,"male") select=input("请输入要执行的函数:") if hasattr(d,select)==True: getattr(d,select)() else: print("此类不存在")
输出的结果为:
在用getattr找到指定内容后,可能还会涉及到更改其值。如果真的需要更改值,那么就需要到了setattr这个函数。
class Person(): def __init__(self,name,age,gender): self.name=name self.age=age self.gender=gender def talk(self): print("%s is talking"%self.name) d=Person("liu",26,"male") d.talk() select=input("请输入要执行的函数:") if hasattr(d,select)==True: setattr(d,"name","zhao") getattr(d,select)() else: print("此类不存在")
运行该函数可以得到以下结果:
最后如果想要删除某些内容,可以调用delattr来进行相关内容的删除。
class Person(): def __init__(self,name,age,gender): self.name=name self.age=age self.gender=gender def talk(self): print("%s is talking"%self.name) d=Person("liu",26,"male") d.talk() # delattr(d,"age") d.talk() print(d.age) # delattr(d,"name") d.talk()
按照以上代码运行,最终结果为:
若将注释掉的代码回复,则结果变为:
可以对其进行异常处理:
d=Person("liu",26,"male") d.talk() delattr(d,"age") d.talk() if hasattr(d,"age")==True: print(d.age) else: print("age被删除") delattr(d,"name") if hasattr(d,"name"): d.talk() else: print("name被删除")
结果就不会涉及报错了:
以上是关于ASP提取html内指定内容的主要内容,如果未能解决你的问题,请参考以下文章