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

标签 python html python-2.7 beautifulsoup urllib2

我正在尝试使用 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 年的契约(Contract)任务。在背景调查和药物测试完成之前,候选人不能开始任务”。为什么我丢失了其余的文字?如何在不指定子标签的情况下从此标签获取所有文本?

非常感谢。

最佳答案

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

替换:

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

与:

soup = BeautifulSoup(site, "lxml")

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

关于Python Beautifulsoup get_text() 没有获取所有文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32670881/

相关文章:

javascript - 计算加载时 <canvas> 的大小?

python - 使用多个文件时 Pystache html 字符被替换

python-2.7 - Python Spark从数据框中提取字符

python - 遍历目录时移动重命名文件的更简洁方法

html - 如何声明没有任何内容的链接?

Python Web Scraper 打印问题

python - 从 Python 请求 ConnectionError 获取 Errno?

python dataset - 读取一组列并将其放入单独的数据框中?

Python 元素树 : How to add SubElement at VERY specific position?

python - 如何在 Pandas 的持续时间计算中排除周末和节假日