如何去除html源码中的标签?
我尝试去抓取糗事百科。
Request=urllib.request.Request(url=url,headers=headers)
response=urllib.request.urlopen(Request).read()
raw_data=response.decode('utf-8')
这里是可以出现html源码的
soup=BeautifulSoup(raw_data)
content=soup.find_all('div', {'class':'content'})
这里可以提取出
<div 'class'='content'>
xxxxx
</div>
这样的内容的如果我想去除
<div 'class'='content>
</div>
我该怎么做,我尝试的网上的一种方法但是报错
content=[s.extract() for s in content('div')]
报错
TypeError: 'ResultSet' object is not callable
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
http://segmentfault.com/q/1010000002448667
可以看看这个,我之前问个的一个问题
用正则去提取标签里的内容
全部都提取后,采用string.replace来替换,这样应该也是可以做到一个蹩脚的方案
最好的方式还是用正则表达式
不知道问题什么意思?是只要里面的内容,还是不要里面的内容只要标签呢?
如果是内容的话,那bs有直接的方法:
content[0].get_text()
,你代码里面的content是一个结果集。如果不要内容只要标签的话也好办,
假设
full
字符串为:而
text
字符串为:"xxxxx"那么直接用full.replace("xxxxx", '')去掉就好啦。