Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 为什么美丽集团';s contents方法返回带括号和引号的文本,而text方法只返回纯文本_Python 3.x_Beautifulsoup - Fatal编程技术网

Python 3.x 为什么美丽集团';s contents方法返回带括号和引号的文本,而text方法只返回纯文本

Python 3.x 为什么美丽集团';s contents方法返回带括号和引号的文本,而text方法只返回纯文本,python-3.x,beautifulsoup,Python 3.x,Beautifulsoup,我正在使用Python3和Beautifulsoup从网页上删除公司名称。当我使用“contents”方法提取标记的内容时,它返回带括号和单引号的文本(例如,['Company a']),而“text”方法只返回Company a。为什么函数会这样做?我意识到这可能是一个愚蠢的问题,但我是新来的,已经试着四处寻找。见下文: entity_name = bsObj2.find(class_='span-16 first') entity_name_item = entity_name.find

我正在使用Python3和Beautifulsoup从网页上删除公司名称。当我使用“contents”方法提取标记的内容时,它返回带括号和单引号的文本(例如,['Company a']),而“text”方法只返回Company a。为什么函数会这样做?我意识到这可能是一个愚蠢的问题,但我是新来的,已经试着四处寻找。见下文:

 entity_name = bsObj2.find(class_='span-16 first')
 entity_name_item = entity_name.find('h1')
 entity_name_item = entity_name_item.contents
 print(entity_name_item)
返回:

['Company A']
 Company A
鉴于:

 entity_name = bsObj2.find(class_='span-16 first')
 entity_name_item = entity_name.find('h1')
 entity_name_item = entity_name_item.text
 print(entity_name_item)
返回:

['Company A']
 Company A

contents
为您提供一个包含标记子项的列表,而
text
为您提供标记的文本。

contents
以Python
列表的形式返回查找的所有结果,而
text
为您提供以Python
字符串的形式查找的文本值。例如,在以下HTML中:

<div>Header
<h1>Header2</h1>
</div>
标题
校长2

使用Beautiful Soup解析它并调用
result=Soup.find('div')
返回一个
BeautifulSoup
对象。对该对象调用
contents
将返回该标记及其所有子项的列表,即
result.contents=['Header','Header2']
type(result)
返回
。但是
text
以人类可读的格式以字符串的形式返回内容,因此您会得到类似
result.text==“Header Header2
type(result)
的内容。要获得预期的行为,请尝试将
.contents
更改为
.contents[0]
因为
.contents
返回项目或列表的数组。