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

Python Beautifulsoup get_text()未获取所有文本,python,html,python-2.7,beautifulsoup,urllib2,Python,Html,Python 2.7,Beautifulsoup,Urllib2,我正在尝试使用beautifulsoup get_text()方法从html标记获取所有文本。我使用Python2.7和Beautifulsoup4.4.0。它在大多数情况下都有效。然而,这种方法有时只能从标记中获取第一段。我不明白为什么。请参见下面的示例 from bs4 import BeautifulSoup import urllib2 job_url = "http://www.indeed.com/viewjob?jk=0f5592c8191a21af" site = urllib

我正在尝试使用beautifulsoup get_text()方法从html标记获取所有文本。我使用Python2.7和Beautifulsoup4.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")
与:

确保首先安装了lxml解析器:

谢谢,乔,它很管用!为什么lxml解析器比html.parser更适合此任务?有什么区别吗?@alecxe这两个解析器对我也适用。我使用的html.parser可能已经过时了?@ShengjieZhang不,只是不同的解析器对不可靠的html标记进行了不同的解释,请参见:@alecxe谢谢!巨大的资源。我会选择html5lib。
soup = BeautifulSoup(site, "lxml")