我只需要BeautifulSoup get_text

时间:2018-08-01 05:48:04

标签: python beautifulsoup

$array = $array1 + $array2;

我怎么只能在

标签中获得141분(文本)

另一个文字,我使用find_all(“ tag”,class _ =“ name”)

但是,此

141분(text)没有课程

'get_text'结果是판타지,드라마,141분,2018.08.01개봉

我只想要141분(文本)


2 个答案:

答案 0 :(得分:1)

如您所见,文本141분是具有类<span>的{​​{1}}的第一个标签的第一个兄弟。因此,我们将选择所有类别为split的标签,获取第一个标签(split),然后获取其中一个的[0]

nextSibling

打印:

from bs4 import BeautifulSoup

data = """<dd>

    <span class="link_txt">

        <a href="/movie/sdb/browsing/bmovie.nhn?genre=2">판타지</a><!-- N=a:nol.genre,r:1 -->,

        <a href="/movie/sdb/browsing/bmovie.nhn?genre=1">드라마</a><!-- N=a:nol.genre,r:2 -->

    </span>

    <span class="split">|</span>
            141분
    <span class="split">|</span>
        2018.08.01 개봉

</dd>"""

soup = BeautifulSoup(data, 'lxml')

print(soup.select('.split')[0].nextSibling.strip())

答案 1 :(得分:0)

如果<span class="link_txt">是唯一的,则可以将其用作标识符。

例如:

from bs4 import BeautifulSoup

data = """<dd>
    <span class="link_txt">
        <a href="/movie/sdb/browsing/bmovie.nhn?genre=2">판타지</a><!-- N=a:nol.genre,r:1 -->,
        <a href="/movie/sdb/browsing/bmovie.nhn?genre=1">드라마</a><!-- N=a:nol.genre,r:2 -->
    </span>
    <span class="split">|</span>
            141분
    <span class="split">|</span>
        2018.08.01 개봉
</dd>"""

soup = BeautifulSoup(data, 'html.parser')
print(soup.find("span", class_='link_txt').findNext("span").nextSibling.strip())

输出:

141분