如何去除html源码中的标签?

发布于 2022-09-01 16:01:56 字数 677 浏览 14 评论 0

我尝试去抓取糗事百科。

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

世俗缘 2022-09-08 16:01:56

http://segmentfault.com/q/1010000002448667

可以看看这个,我之前问个的一个问题

最偏执的依靠 2022-09-08 16:01:56
//取得网页的文本(去掉CSS HTML JavaScript脚本等)
        public String GetText(String strTemp, int lengthlimit)
        {
            strTemp = System.Text.RegularExpressions.Regex.Replace(strTemp, "<[\\s]*?script[^>]*?>[\\s\\S]*?<[\\s]*?\\/[\\s]*?script[\\s]*?>", "");
            string str2Temp = System.Text.RegularExpressions.Regex.Replace(strTemp, "<[\\s]*?style[^>]*?>[\\s\\S]*?<[\\s]*?\\/[\\s]*?style[\\s]*?>", "");
            string str3Temp = System.Text.RegularExpressions.Regex.Replace(str2Temp, "<[^>]+>", "");
            //return System.Text.RegularExpressions.Regex.Replace(str3Temp, "", "");
            if (lengthlimit != 0)
            {
                if (str3Temp.Length >= lengthlimit)
                {
                    str3Temp = str3Temp.Substring(0, lengthlimit);
                }
            }
            return str3Temp;
        }

莫言歌 2022-09-08 16:01:56

用正则去提取标签里的内容

太傻旳人生 2022-09-08 16:01:56

全部都提取后,采用string.replace来替换,这样应该也是可以做到一个蹩脚的方案

日久见人心 2022-09-08 16:01:56

最好的方式还是用正则表达式

看春风乍起 2022-09-08 16:01:56

不知道问题什么意思?是只要里面的内容,还是不要里面的内容只要标签呢?
如果是内容的话,那bs有直接的方法:content[0].get_text(),你代码里面的content是一个结果集。
如果不要内容只要标签的话也好办,
假设full字符串为:

<div 'class'='content'>
xxxxx
</div>

text字符串为:"xxxxx"
那么直接用full.replace("xxxxx", '')去掉就好啦。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文