Как получить доступ к дочерним узлам в родительском узле - PullRequest
0 голосов
/ 07 января 2019

Я пытаюсь получить данные с форума веб-страницы, однако у них нет соответствующих классов в своих тегах, из-за которых у меня возникают проблемы при попытке получить их. Изображение

Мне удалось получить другие результаты, кроме последнего; Я не уверен, как извлечь это. Я попытался следовать нескольким решениям, данным другими; etc container.div.a, но он обращается только к первому, я не уверен, как получить другой; используя селектор css?

это URL ссылка

try:
    for container in _url.find_all('td', {'class': 'row1', 'valign': 'middle'}):
        topic = container.select_one(
            'a[href^="/topic/]"').text.replace("\n", "")
        description = container.select_one(
            'div.desc').text.replace("\n", "")
        #review_or_guide is what im trying to edit
        review_or_guide = container.find('a', href=True, {'style': 'float:right'}).text
        if topic and description is not None:
            #appends data to list
        else:
            None
except Exception as e:
    print('Error.extractDataFromRow1:', e)
    return None

Итак, я пытаюсь достичь

Topic: Greetings
Description: Hi how are you
Status: Guide

Ответы [ 2 ]

0 голосов
/ 07 января 2019

Здесь вы можете перебрать селектор строк таблицы #forum_topic_list> table> tbody> tr, а внутри цикла вы можете выбрать td: nth-child (3)> div> div: nth-child (2)> a в jQuery Или В css #forum_topic_list> table> tbody> tr> td: nth-child (3)> div> div: nth-child (2)> a, чтобы выбрать все данные

0 голосов
/ 07 января 2019

Вы можете попробовать это

review_or_guide = container.select_one("a:nth-of-type(2)").text.strip()

Это должно выбрать второй элемент в них.

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