Python 爬虫 使用正则去掉不想要的网页元素

在做爬虫的时候,我们总是不想去看到网页的注释,或者是网页的一些其他元素,有没有好的办法去掉他们呢?

例如:下面的问题

复制代码
第一种情况
<ahref="http://artso.artron.net/auction/search_auction.php?keyword=%E6%9E%97%E7%BB%8D%E5%91%A8"target="_blank">林绍周(明)</a>辑</td>
想要得到的结果是:林绍周(明)辑

第二种情况

<ahref="http://artso.artron.net/auction/search_auction.php?keyword=%E9%92%9F%E6%83%BA"target="_blank">钟惺(明)</a><ahref="http://artso.artro
n.net/auction/search_auction.php?keyword=%E8%B0%AD%E5%85%83%E6%98%A5"target="_blank">谭元春</a>辑</td>
想要得到的结果是:钟惺(明)谭元春辑
 
第三种情况
<ahref="http://artso.artron.net/auction/search_auction.php?keyword=%E8%90%A7%E5%A8%B4"target="_blank">萧娴(1902~1997)</a></td>
想要得到的结果是: 萧娴(1902~1997)
 
复制代码

 

针对这三种情况,可以试用正则  sub去提取信息

ewline = """<ahref="http://artso.artron.net/auction/search_auction.php?keyword=%E6%96%87%E7%83%BA"target="_blank">文烺</a><ahref="htt
p://artso.artron.net/auction/search_auction.php?keyword=%E6%9D%8E%E9%93%A0"target="_blank">李铠</a>等</td>
"""

re_comment = re.compile('<ahref=[^>]*target="_blank">') print re_comment newlines = re_comment.sub('', newline) print newlines.replace('</a>',' ').replace('</td>','').replace('</a>','')

运行结果是:

C:\Python27\python.exe C:/Users/xuchunlin/PycharmProjects/A9_25/haiwai__guanwang/0/qq.py
文烺 李铠 等

Process finished with exit code 0

 

posted @   淋哥  阅读(1504)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示