首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.string与.text BeautifulSoup的区别

.string与.text BeautifulSoup的区别
EN

Stack Overflow用户
提问于 2014-08-15 21:54:05
回答 1查看 25.8K关注 0票数 38

在使用BeautifulSoup时,我注意到一些奇怪的事情,并且找不到任何文档来支持这一点,所以我想在这里询问一下。

假设我们有一个像这样的标签,我们已经用BS解析过了:

代码语言:javascript
复制
<td>Some Table Data</td>
<td></td>

提取数据的official documented方法是soup.string。但是,这为第二个<td>标记提取了一个NoneType。所以我尝试了soup.text (为什么不呢?)它提取了一个空字符串,这正是我想要的。

然而,我在文档中找不到任何关于这一点的引用,我担心有什么地方遗漏了。有没有人可以告诉我这是不是可以接受的,或者以后会不会有问题?

顺便说一句,我是从网页抓取表数据,并意味着从数据创建CSV,所以我确实需要空字符串而不是NoneTypes。

EN

回答 1

Stack Overflow用户

发布于 2017-08-15 12:06:56

如果一个标记包含多个内容,那么就不清楚.string应该引用什么,所以.string被定义为None:

示例:

代码语言:javascript
复制
<td>sometext<p>sometext</p></td>

如果完成了: td.string,上面的代码将返回NoneType,因为td包含文本以及另一个p标记。但是td.text会给出:

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25327693

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档