2004年09月07日 星期二 14:16
>>> import urllib >>> f=urllib.urlopen("http://218.57.8.101:6000/temp1/test.htm") >>> s=f.read() >>> t=0 >>> for i in s.split(): if i=="/^$/": t=0 if t==0: print i + " " else: pass 我是想当s.split()的头一个字符是"<"的时候,就把T置为1,当s.splot()的最后一个字符是">"的时候,把T置为零,来达到分离html标签的目的,但是这么表达似乎不对。应该如何表达才能让python比较当前字符串和我的要求是否匹配。 另外就是我想让所有print出来的东西在一行里显示,到屏幕终点换行,不知道如何实现,目前是一个单词一行。 希望得到大家的帮助 谢谢~ 王超 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20040906/b8d944cf/attachment.htm
2004年09月07日 星期二 14:27
Hollo Wang: FT!! 兄台先自个儿尝试一下子吧,分析HTML有非常多的方式, 你这种是绝机器的方法,象XML 的SAX 事件触发, 不过最自然的还是使用正则表达式用人的思维方式进行: http://wiki.woodpecker.org.cn/moin.cgi/Zoom_2eQuiet#head-a6eec1a9841eae9c097ec88b317a7397adb3e1f7 "Xhtml升华器" 中有具体的应用 关键的: self.re_match_tag=re.compile( r"""(<\w{1,}.*?>) """, re.IGNORECASE | # allow pepper, Pepper, PEPPER, etc. re.DOTALL | # allow to match newlines as well re.VERBOSE ) # this allows the comments and the newlines above 此正则表达式是选出所有: 以<开始紧接着至少长度为一的单词后,尽可能短的字串后由> 封闭的一个HTML标签,而且允许标签跨行, 然后使用正则表达式对象标准的 findall() 函式就可以一次性的将文本中所有标签匹配出来………………………… 希望有所帮助 /******** [2004-09-07]14:21:18 ; Wang wrote: >>>> import urllib >>>> f=urllib.urlopen("http://218.57.8.101:6000/temp1/test.htm") >>>> s=f.read() >>>> t=0 >>>> for i in s.split(): Wang Chao> if i=="/^ t=1 Wang Chao> if i=="/>$/": Wang Chao> t=0 Wang Chao> if t==0: Wang Chao> print i + " " Wang Chao> else: Wang Chao> pass Wang Chao> 我是想当s.split()的头一个字符是"<"的时候,就把T置为1,当s.splot()的最后一个字符是">"的时候,把T置为零,来达到分离html标签的目的,但是这么表达似乎不对。应该如何表达才能让python比较当前字符串和我的要求是否匹配。 Wang Chao> 另外就是我想让所有print出来的东西在一行里显示,到屏幕终点换行,不知道如何实现,目前是一个单词一行。 Wang Chao> 希望得到大家的帮助 Wang Chao> 谢谢~ Wang Chao> 王超 ********************************************/ -- Free as in Freedom Zoom.Quiet #=========================================# ]Time is unimportant, only life important![ #=========================================# sender is the Bat!2.12.00
Zeuux © 2025
京ICP备05028076号