Как очистить текст во вложенном промежутке с помощью Beautifulsoup? - PullRequest
0 голосов
/ 13 февраля 2020

У меня есть следующий html код:

< div xmlns="http://www.w3.org/1999/xhtml" class="line">< span class="html-tag"> &lt;Value&gt; </span>< span class="text"> 14966.50</span> < span class="html-tag" >&lt;/Value&gt;< /span ></div>

Как мне извлечь 14966.50?

Ответы [ 2 ]

0 голосов
/ 13 февраля 2020

Если ваши теги 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)

Результат :

14966.50

Вы сначала можно получить 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

0 голосов
/ 13 февраля 2020

Вы можете использовать этот код

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])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...