如何提取值'保持'和' 7'从下面的HTML代码?
<div class="row" data-key=hold>
<div class="label">
Hold
</div>
<div class="barContainer">
<div class='bar ' style="width: 100.0%">
</div>
<div class="value" style="left: 100.0%">
7
</div>
</div>
</div>
感谢。
答案 0 :(得分:0)
您可以使用from bs4 import BeautifulSoup
data = '''<div class="row" data-key=hold>
<div class="label">
Hold
</div>
<div class="barContainer">
<div class='bar ' style="width: 100.0%">
</div>
<div class="value" style="left: 100.0%">
7
</div>
</div>
</div>'''
soup = BeautifulSoup(data, 'html.parser')
基于标记和属性获取属性值,将字典作为参数传递,然后索引特定属性,以便:
>>> soup.find('div', {'class':"row"})['data-key']
'hold'
>>> soup.find('div', {'class':"value"}).text # or .contents to get a list
'\n 7\n '
然后:
function SetActive(id) {
$('.Tabs').removeClass('Active');
$(id).addClass('Active');
$('.TabData').hide();
$('#Data'+id).show();
}
答案 1 :(得分:0)
您可以执行以下操作:
from urllib.request import urlopen
from bs4 import BeautifulSoup
html = urlopen('http://whateverdomain.com')
bsObj = BeautifulSoup(html)
requiredContainer = bsObj.find("div", {'class':'row'})
holdValue = requiredContainer.find("div", {'class':'label'}).text
print(holdValue)
sevenValue = requiredContainer.find('div', {'class':'value'}).text
print(sevenValue)
将whateverdomain.com
替换为您要抓取的网页。
我使用下面的html页面进行测试。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<div class="row" data-key=hold>
<div class="label">
Hold
</div>
<div class="barContainer">
<div class='bar ' style="width: 100.0%">
</div>
<div class="value" style="left: 100.0%">
7
</div>
</div>
</div>
</body>
</html>
要在本地运行,请保存html页面并使用html = urlopen('file:///path/to/index.html')