ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Общие вопросы программирования (https://forum.antichat.xyz/forumdisplay.php?f=206)
-   -   python selenium (https://forum.antichat.xyz/showthread.php?t=1454937)

Sanchez. 22.10.2022 16:39

пытаюсь через либу селениум спарсить текст, где написано кол-во ответов в теме

https://forum.antichat.xyz/attachmen...a632fef47f.png

так как эта штука имеет тег dd, я пытаюсь ее спарсить

https://forum.antichat.xyz/attachmen...80187dcdf3.png

но почему-то мне выдает ошибку, якобы такого селектора нема на сайте

что делать

purpleee 22.10.2022 16:41

Код показать не вариант?

Sanchez. 22.10.2022 16:44

Цитата:

Сообщение от purpleee

Код показать не вариант?

Код:





Код:

for k in blocks:
        title = k.find_element(By.CLASS_NAME, 'structItem-title')
        answers = k.find_element(By.CSS_SELECTOR, 'dd').text
        url = title.find_element(By.CSS_SELECTOR, 'a').get_attribute('href')
        title = title.text.replace('Исковое заявление', '').replace('ОС |', '').replace('OC |', '').replace('  ', '')
        date_create = k.find_element(By.CLASS_NAME, 'u-dt').text
        date_last_answer = k.find_element(By.CLASS_NAME, 'structItem-latestDate').text
        await message.answer(answers)





пж без хейта за говнокод

purpleee 22.10.2022 16:52

Цитата:

Сообщение от Sanchez.

Код:





Код:

for k in blocks:
        title = k.find_element(By.CLASS_NAME, 'structItem-title')
        answers = k.find_element(By.CSS_SELECTOR, 'dd').text
        url = title.find_element(By.CSS_SELECTOR, 'a').get_attribute('href')
        title = title.text.replace('Исковое заявление', '').replace('ОС |', '').replace('OC |', '').replace('  ', '')
        date_create = k.find_element(By.CLASS_NAME, 'u-dt').text
        date_last_answer = k.find_element(By.CLASS_NAME, 'structItem-latestDate').text
        await message.answer(answers)




пж без хейта за говнокод

Answers, url, date_create - верное показывает?

Sanchez. 22.10.2022 16:54

Цитата:

Сообщение от purpleee

Answers, url, date_create - верное показывает?

все верно показывает, кроме answers, там пустота

answers это то, о чем я писал в начале темы

purpleee 22.10.2022 23:46

Цитата:

Сообщение от Sanchez.

все верно показывает, кроме answers, там пустота

answers это то, о чем я писал в начале темы

Ну тогда скорее всего, на сайте имеется ещё одно поле, которое использует 'dd'. Я бы хотел посоветовать получить все элементы с 'dd' и уже отталкиваться от этого. Но в твоём варианте, лучшим выходом будет - искать данный элемент через XPATH (Тут есть немного инфы о нём(не реклама): https://selenium-python.readthedocs.io/locating-elements.html), Что бы получить XPATH данного элемента - нажми ПКМ - Копировать и выбери "Копировать XPATH"


Время: 06:52