У меня есть следующий html код:
< div xmlns="http://www.w3.org/1999/xhtml" class="line">< span class="html-tag"> <Value> </span>< span class="text"> 14966.50</span> < span class="html-tag" ></Value>< /span ></div>
Как мне извлечь 14966.50?
14966.50
Если ваши теги HTML такие же грязные, как вы их положили, я предлагаю вам использовать эту библиотеку для их решения.
from simplified_scrapy import SimplifiedDoc html = ''' <div xmlns="http://www.w3.org/1999/xhtml" class="line"> <span class="html-tag"> <Value> <span class="text"> 14966.50 <span class="html-tag"> </Value> </span> </div> ''' doc = SimplifiedDoc(html) text = doc.Value.text print (text)
Результат :
Вы сначала можно получить div, затем Value.
doc = SimplifiedDoc(html) text = doc.select('div.line>Value>text()') print (text)
Вот пример SimplifiedDo c: https://github.com/yiyedata/simplified-scrapy-demo/tree/master/doc_examples
Вы можете использовать этот код
import requests from bs4 import BeautifulSoup req = requests.get('Your URL') raw = req.text html = BeautifulSoup(raw, 'html.parser') infos = html.select('Value') print(infos[0])