Python-> BeautifulSoup,获取一些文字

时间:2015-12-25 20:38:33

标签: python beautifulsoup

我有这个page,我希望获得文本部分(在链接图像中标记为“TEXT”)。我怎样才能做到这一点?我尝试了来自find, findAll的{​​{1}}的组合,但我无法理解......我也在使用BeautifulSoup。这样的事情没用,我在这里有很多课程:

Mechanize

谢谢!

P.S。我删除了所有ID和类,抱歉。

编辑: 代码如下:

    h = soup.find_all("div", {"class":"one"})
    for tag in h:
        secondTags = tag.find_all("div", {"class":"two"})
        for tag in secondTags:
            print (tag.text)

1 个答案:

答案 0 :(得分:0)

我们的想法是找到span类的header_arrow元素,然后获取next sibling

工作示例:

from bs4 import BeautifulSoup

data = """
<div id="main_content">
    <div id="options">
        <ul id="select" class="u-select">
            <li class="generic" id="my">
                <div class="header">
                    <h2>
                        <span class="header_arrow">...</span>
                        TEXT
                        <a class="info" href=" "> </a>
                        <div class="tool_info"> </div>
                    </h2>
                </div>
            </li>
        </ul>
    </div>
</div>
"""

soup = BeautifulSoup(data, "html.parser")

print(soup.select_one("ul#select li.generic div.header h2 span.header_arrow").next_sibling.strip())

打印:

TEXT