如何获取所有具有class =“ no-wrap文本右流通供应”标签的值?我使用的是:
$pattern = '/^(\d+|5\+)$/';
preg_match($pattern, '1'); // Match
preg_match($pattern, '5+'); // Match
preg_match($pattern, '10+'); // No match
text=[ ]
text=(soup.find_all(class_="no-wrap text-right circulating-supply"))
的输出:
text[0]
我只想提取数值。
一个实例的示例:
'\n\n17,210,662\nBTC\n'
谢谢。
答案 0 :(得分:2)
如果所有元素都具有相似的HTML结构,请尝试以下操作以获取所需的输出:
args...
答案 1 :(得分:1)
这可能看起来有些矫kill过正,您可以使用regex提取数字
from bs4 import BeautifulSoup
html = """<td class="no-wrap text-right circulating-supply" data-sort="17210662.0">
<span data-supply="17210662.0">
<span data-supply-container="">
17,210,662
</span>
<span class="hidden-xs">
BTC
</span>
</span>
</td>"""
import re
soup = BeautifulSoup(html,'html.parser')
coin_value = [re.findall('(\d+)', node.text.replace(',','')) for node in soup.find_all(class_="no-wrap text-right circulating-supply")]
print coin_value
打印
[[u'17210662']]