如何在不解析内部div的情况下提取外部div内容

时间:2017-02-21 20:16:56

标签: python beautifulsoup

我有一个div,例如:

    <div class="info">
                 Illinois
                    <div class="price">
                        $20
                    </div>
    </div>

我想获取“info”div的内容,但没有“price”div的内容。我正在使用Python和BeutifulSoup。我试图将div内容转换为一个我可以轻松过滤的字符串,但我的代码不起作用:

infosoup = soup.find_all('div', class_="info")
for element in infosoup:
    name = element.string.strip()

任何帮助表示感谢。

2 个答案:

答案 0 :(得分:2)

最好使用text=True命令的find参数,而不是尝试索引内容列表。

matches = [div.find(text=True).strip() for div in soup.find_all('div', class_="info")]

返回:

['Illinois']

答案 1 :(得分:1)

您可以使用contents列表:

infosoup = soup.find_all('div', class_="info")
for element in infosoup:
    name = element.contents[0]