Невозможно получить текст атрибута span, используя BeautifulSoup - PullRequest
1 голос
/ 07 февраля 2020

Я пытаюсь получить из следующего

<span id="SkuNumber" itemprop="identifier" content="sku:473768" data-nodeid="176579" class="product-code col-lg-4 col-md-4">ΚΩΔ. 473768</span></div>

значения data-nodeid Я сделал следующее

price_nodes = soup.find('span', attrs={'id': 'SkuNumber'})
datanode = price_nodes.select_one('span[data-nodeid]')

Но я получаю "Нет" Как я могу это исправить ? спасибо

Ответы [ 2 ]

2 голосов
/ 07 февраля 2020

Если price_nodes правильно заполнить

т.е. price_nodes =

<span id="SkuNumber" itemprop="identifier" content="sku:473768" data-nodeid="176579" class="product-code col-lg-4 col-md-4">ΚΩΔ. 473768</span>

Вам просто нужно сделать это:

datanode = price_nodes.get('data-nodeid')

Полный код должен быть :

from bs4 import BeautifulSoup as soup

html = '<div><span id="SkuNumber" itemprop="identifier" content="sku:473768" data-nodeid="176579" class="product-code col-lg-4 col-md-4">ΚΩΔ. 473768</span></div>'
page = soup(html, 'html.parser')
price_nodes = page.find('span', {'id': 'SkuNumber'})
datanode = price_nodes.get('data-nodeid')
1 голос
/ 07 февраля 2020
from bs4 import BeautifulSoup

html = '<span id="SkuNumber" itemprop="identifier" content="sku:473768" data-nodeid="176579" class="product-code col-lg-4 col-md-4">ΚΩΔ. 473768</span></div>'
soup = BeautifulSoup(html)

price_nodes = soup.find('span', attrs={'id': 'SkuNumber'})
print(price_nodes['data-nodeid'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...