无法使用BeautifulSoup获取div和meta标记的内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法使用BeautifulSoup获取div和meta标记的内容相关的知识,希望对你有一定的参考价值。

我试图在find_all方法之后使用.get_text()方法获取网站的div和meta标签内的内容,如下所示:

from bs4 import BeautifulSoup as soup
#skipped some lines
names = bs_obj.find_all("div", {'class':'classname'})
for name in names:
    print(name.get_text()+"
")

假设div标签的内容是

<div class="classname">content1</div>
<div class="classname">content2</div>

我的预期结果是

content1
content2

但实际输出是

<div class="classname">content1</div>
<div class="classname">content2</div>

我尝试了一些方法,如split()replace()re.search(),但标签不会消失。知道发生了什么事吗?

答案

你几乎得到了结果:

html_doc = """ 
<div class="classname">content1</div> 
<div class="classname">content2</div> 
""" 
from bs4 import BeautifulSoup as soup
bs_obj = soup(html_doc, 'html.parser')

names = bs_obj.findAll('div', {'class':'classname'})

for name in names:
    print(name.text)

以上是关于无法使用BeautifulSoup获取div和meta标记的内容的主要内容,如果未能解决你的问题,请参考以下文章

怎么使用beautifulsoup获取指定div标签内容

Beautifulsoup4 没有返回页面上的所有链接

BeautifulSoup获取指定class样式的div

BeautifulSoup 使用循环从多个 div 中抓取信息到 JSON

用beautifulsoup在一个div中获取孩子的文字

获取一个可变的 python BeautifulSoup 类名