爬虫数据清洗之html标签的清洗

    我们平常爬取数据时,会经常有多余的html便签,下面我们就来清洗一下这些标签:

1,只清洗标签,可以用正则,也可以用remove(),remove_tags()函数

正则清洗:
import re
html='<p class="txt" node-type="feed_list_content" nick-name="人民日报">\n                    【<a href="http://s.weibo.com/weibo?q=" target="_blank">#13个求职新方向#</a>!有你心动的职业吗<img src="//img.t.sinajs.cn/t4/appstyle/expression/ext/normal/aa/2018new_bingbujiandan_org.png" title="[并不简单]" alt="[并不简单]" class="face">】近日,人社部、市场监管总局、统计局联合发布13个新职业,既有现在流行的人工智能、<em class="s-color-red">大</em><em class="s-color-red">数据</em>、云计算、物联网等工程技术人员,也有电子竞技员、无人机驾驶员等新颖工种…你心动了吗?哪些学校开设了相关专业值得关注?戳图了解↓↓转给正在求学的TA!                </p>
pre = re.compile('>(.*?)<')
text= ''.join(pre.findall(html))

remove()用于删除多余的,我们不想要的特定的标签

doc = pq(html)

doc('.article-t style').remove()

如上是:想要class为article里面的内容,但又不想要style标签中的内容,就可以通过以上把style标签删除,然后再提取article下的所有内容。

remove_tags()删除含有完整的标签:

from w3lib.html import remove_tags

a = '<em><em>ai</em></em>工程师'

print(remove_tags(a))

ai工程师

2,清洗标签和标签包括的内容,用remove_tags_with_content(要清洗的文本,which_ones=(要清洗的标签,))函数 

from w3lib.html import remove_tags_with_content

a = "<span class=\"dp\">OTEzMjEzMTEzNDY=</span>9<span class=\"dp\">OTEzMjEzMTEzNDY=</span>132131134642891XT"
print(remove_tags_with_content(a, which_ones=('span',)))

9132131134642891XT

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值