Как получить информацию html с помощью Python3 - PullRequest
0 голосов
/ 12 октября 2018

Я пытаюсь получить данные из URL.Частичная вкладка html показана ниже, и я хотел бы получить число «397», которое будет меняться все время так же, как фондовый индекс.Мой код показан ниже, и когда я компилирую файл .py, результат будет <a class="p_total" name="p_bar_total"></a> без номера.

HTML:

<div id="p_bar_bottom" class="p_bar" style="display: inline;">
            <a name="p_bar_total" class="p_total">&nbsp;397&nbsp;</a>
            <a name="p_bar_min" class="p_redirect" style="display: none;">|‹ 1</a>

Код:

with requests.session() as s:
    url = 'https://www.sth.com'
    page = s.get(url)
    soup = BeautifulSoup(page.text, 'html.parser')
    total_list = soup.find(class_ = 'p_bar')
    total_no_list = total_list.find(class_ = 'p_total')
    print(total_no_list)

Что-то не так с моим кодом?Спасибо

1 Ответ

0 голосов
/ 12 октября 2018

Не нужно искать два тега, чтобы получить текст, вы можете напрямую получить текст!

from bs4 import BeautifulSoup
import requests
html = '''<div id="p_bar_bottom" class="p_bar" style="display: inline;">
            <a name="p_bar_total" class="p_total">&nbsp;397&nbsp;</a>
            <a name="p_bar_min" class="p_redirect" style="display: none;">|‹ 1</a>'''
soup = BeautifulSoup(html, 'html.parser')

total = soup.select('.p_total')[0].text
print(total)

Вывод:

397
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...