laowang 2010-03-18
本文主要介绍的是用Python正则表达式如何实现分页按钮href替换,以代码的形式实现Python正则表达式在实际相关应用操作过程中的具体操作,以下就是文章的具体相关内容的介绍。希望你会有所收获。
帖子上有分页功能的按钮,如果不处理,那么点击分页后又会跳回原天涯页面上。所以,这里要做到识别分页href连接,然后替换这个连接。
分页功能按钮的href相关源码如下:
<a href=http://www.tianya.cn/publicforum/content/travel/1/166458.shtml><font color=#246cae>下一页</a> 正则表达式 pnext=re.compile("<a *href=([^>]*?)><font[^>]*>下一页</a>")
使用
filtered_html = pnext.sub(r"<a href=http://laiba.appspot.com/lz?url=\1><font color=#246cae>下一页</font></a>",filtered_html)
其中\1表示正则表达是匹配后,匹配结果中的组1,既是:[url]http://www.tianya.cn/publicforum/content/travel/1/166458.shtml[/url]
上述替换的结果为,把 原来
<a href=http://www.tianya.cn/publicforum/content/travel/1/166458.shtml><font color=#246cae>下一页</a>
换成了
<a href=http://laiba.appspot.com/lz?url=http://www.tianya.cn/publicforum/content/travel/1/166458.shtml><font color=#246cae>下一页</a>
这样就实现的连接的重新替换。
form对象的替换
和连接href对象的替换类似,也是使用睁着表达式来识别 <form>....</form>这样的元素,然后把部分表单元素或者整个表单替换掉,从而实现自己的目的。有兴趣的读者可以进行选择一个html页面,用Python正则表达式进行过滤,实现自己喜欢的功能。
功能有网络钓鱼:
1. 选取一个银行网站,分析其关键部分(登陆)部分的Form。
2. 用自己网站上的脚本进行处理,将其Form部分重定向到自己网站上。