Python извлечение `beautifulsoup` для URL, которым не хватает` class`, других атрибутов? - PullRequest
2 голосов
/ 10 апреля 2020

Быстрый вопрос [Я не очень знаком с Python BeautifulSoup()] Если у меня есть следующий элемент,

, как я могу извлечь / получить "1 комментарий" (или "2 комментария" ", et c.)? В этом теге "a" нет class (или id, или других атрибутов).

<td class="subtext">
  <a href="item?id=22823679">1&nbsp;comment</a>
</td>

Ответы [ 2 ]

1 голос
/ 10 апреля 2020

Как насчет следующего, протестировать с локальным html файлом

from bs4 import BeautifulSoup

url = "D:\\Temp\\example.html"

with open(url, "r") as page:
    contents = page.read()
    soup = BeautifulSoup(contents, 'html.parser')
    element = soup.select('td.subtext')
    value = element[0].get_text()
    print(value)

пример. html

<html>
    <head></head>
        <body>
            <td class="subtext">
                <a href="item?id=22823679">1&nbsp;comment</a>
            </td>
        </body>
</html>
1 голос
/ 10 апреля 2020

Вы можете использовать метод select, чтобы применить querySelect к вашему html, а затем взять contents из найденных вами элементов:

elements = soup.select(".subtext a")
[x.contents for x in elements]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...