BeautifulSoup - 如何获取两个不同标签之间的所有文本?

时间:2017-07-27 09:39:57

标签: python beautifulsoup

我想在两个标签之间获取所有文字:

<div class="lead">I DONT WANT this</div>

#many different tags - p, table, h2 including text that I want

<div class="image">...</div>

我是这样开始的:

url = "http://......."
req = urllib.request.Request(url)
source = urllib.request.urlopen(req)
soup = BeautifulSoup(source, 'lxml')

start = soup.find('div', {'class': 'lead'})
end = soup.find('div', {'class': 'image'})

我不知道下一步该做什么

2 个答案:

答案 0 :(得分:0)

尝试使用以下代码:

public JsonResult GetStrengthDropdown(int medicationId)
{
 // DB call to get dropdown Values.
return JSON(values);
}

使用next_sibling获取兄弟节点。

答案 1 :(得分:0)

尝试使用此代码,它允许解析器从类主角开始并在命中类图像时退出程序并打印所有可用标记,这可以更改为打印整个代码:

html = u""
for tag in soup.find("div", { "class" : "lead" }).next_siblings:
    if soup.find("div", { "class" : "image" }) == tag:
        break
    else:
        html += unicode(tag)
print html