Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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
Html 在beautiful soup的find()方法中提到类名,但不要提到标记名_Html_Web Scraping_Beautifulsoup - Fatal编程技术网

Html 在beautiful soup的find()方法中提到类名,但不要提到标记名

Html 在beautiful soup的find()方法中提到类名,但不要提到标记名,html,web-scraping,beautifulsoup,Html,Web Scraping,Beautifulsoup,使用Beauty soup,我希望从以下HTML代码中获得90%的文本: <div class="meter-value"> <span class="superPageFontColor" style="vertical-align:top">90%</span> </div> 但是我意识到即使你不指定标签名 soup.find(class_={class-name}) 我

使用Beauty soup,我希望从以下HTML代码中获得90%的文本:

<div class="meter-value">
     <span class="superPageFontColor" style="vertical-align:top">90%</span>
</div>
但是我意识到即使你不指定标签名

soup.find(class_={class-name})
我得到了同样的结果。那么,代码行呢

soup.find(class_="meter-value").find('span').contents[0]
返回值90%,与以下正确格式相同

soup.find('div',class_="meter-value").find('span').contents[0]

我的问题是,在这种情况下,我仍然应该指定标记名有什么好的理由吗?

通常,您希望指定尽可能少的信息。因此,如果没有任何其他带有
class=“meter value”
的标记(例如
等),我将使用
soup.find(class=“meter value”)
。你甚至不需要
.find('span')。contents[0]
下一步,
soup.find(class='meter-value')。get_text(strip=True)
就足够了。
soup.find('div',class_="meter-value").find('span').contents[0]