Как при парсинге веб-сайтов получить доступ к значениям элементов внутри тегов <b>
? Ниже приведен пример HTML-кода, из которого я пытаюсь извлечь число в теге.
<h1 name = "apple" class = "banana">
<b>700</b>
"orange"
<span> "fruits" </span>
</h1>
Этот клип показывает структуру HTML, из которой я пытаюсь извлечь значение 700.
Чтобы попытаться получить значение 700, я использую XPATH для доступа к элементу <h1>
, но при захвате элемента, независимо от числового значения внутри тега <b>
, я получаю 0.
Я захожу на сайт с помощью request.get (url), получаю текст и передаю его в объект html.fromstring. На этом этапе я попытался использовать XPATH для доступа к элементам, охватывающим этот заголовок, и перейти прямо к элементу b, но я не могу получить значение внутри элемента.
Любые советы будут оценены!
Алексей, я редактировал пост, просто хотел бы получить номер внутри тега b, но использование XPATH, похоже, не работает. Я попытался использовать XPATH, чтобы добраться до элемента, а затем добавить //text()
, чтобы попытаться получить значение, но это возвращает 0, как я упоминал в сообщении.
используйте css soup.select_one ('. banana b'). text с bs4
Могу ли я не получить доступ к элементу, просто используя запросы и lxml?
Это ответ на ваш вопрос: stackoverflow.com/questions/36101772/…following-sibling::text()
@QHarr, я видел этот пост, он дает тот же результат, что и использование xpath. Я получаю значение 0, а не истинное значение.
Есть ли URL-адрес, которым можно поделиться, и реальный элемент, который нужно захватить?
Позвольте нам продолжить обсуждение в чате.
Очень непонятно, что вы пытаетесь сделать. Не могли бы вы редактировать задать вопрос, чтобы показать, где вам нужно «получить доступ к значению элементов внутри тегов <b>»? Ясно, что вы не хотите получать элемент, используя XPath "h1 / b" и тогда, получая текст другими методами (поскольку вы запрашиваете XPath) ...