Python Beautifulsoup get_text() 未获取所有文本

Python Beautifulsoup get_text() not getting all text

我正在尝试使用 beautifulsoup get_text() 方法从 html 标签获取所有文本。我使用 Python 2.7 和 Beautifulsoup 4.4.0。它适用于大多数时间。但是,这种方法有时只能从标签中获取第一段。我不知道为什么。请看下面的例子。

from bs4 import BeautifulSoup
import urllib2

job_url = "http://www.indeed.com/viewjob?jk=0f5592c8191a21af"
site = urllib2.urlopen(job_url).read()
soup = BeautifulSoup(site, "html.parser")
text = soup.find("span", {"class": "summary"}).get_text()
print text

我想从这份职位描述中获取所有内容。基本上,我想获取 .但是,利用上面的代码,我只能得到“请注意,这是一份为期 1 年的合同任务。在背景调查和药物测试完成之前,候选人不能开始任务”。为什么我丢失了其余的文字?如何在不指定子标签的情况下从该标签获取所有文本?

非常感谢。

尝试使用不同的解析器,例如 lxml 解析器而不是 html.parser 解析器:

替换:

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

与:

soup = BeautifulSoup(site, "lxml")

确保您首先安装了 lxml 解析器: http://www.crummy.com/software/BeautifulSoup/bs4/doc/#installing-a-parser