Как парсить ссылку если нет классы python requests

Добого времени суток! Нужно сделать парсер сайта. Мне нужно получить текст заголовка что являеться ссылкой, но в теге нет никакого href или класса тег только в div class="mainTitle___mbpq1" но я никак не могу получить заголовок. Пробовал этот способ:

import requests as req
from bs4 import BeautifulSoup as BS

resp = req.get('https://www.kucoin.com/news/categories/listing').text
print(resp)


def get_catalog_data(html):
    soup = BS(html, 'lxml')
    knifes = soup.find('a')

    print(knifes)


get_catalog_data(resp)

выводить None

Если просто хочу вывести весь html то не выводиться весь

Не выводиться весь раскрытый

Он просто как будто бы пустой

Как решить? Заранее спасибо!


Ответы (2 шт):

Автор решения: Александр Сотников

Указанный сайт полностью построен на скриптах. То есть, чтобы увидеть страницу необходимо её открыть. Обычно используют для этих целей Selenium(https://ru.stackoverflow.com/questions/1064080/Как-и-чем-лучше-парсить-сайт-с-spa-на-питоне), но можно пойти другим путем.

Можно через "инструменты разработчика"- "сети", подсмотреть куда уходит запрос при нажатии нажатии на "ссылку". В твоем случае, ссылка, которая возвращает json-ответ c содержанием всей информации (список доступных листингов, заголовки, ссылки на них) - https://www.kucoin.com/_api/cms/articles?page=1&pageSize=10&category=listing&lang=ru_RU.

Инструменты разработчика открыть - «Ctrl» + «Shift» + «I».

Скриншоты места, где посмотреть ссылку:введите сюда описание изображения

Также на всякий случай оставлю ссылку на одного листинга в списке- https://assets.staticimg.com/cms/articles/ru-kucoinfutures-launched-aave-ksm-contracts.json?t=9060078

→ Ссылка
Автор решения: Фрэнк Фрэнкович

Нашел решение с помощью библиотеки selenium

import time
from selenium import webdriver


EXE_PATH = r'C:\chromedriver.exe'
driver = webdriver.Chrome(executable_path=EXE_PATH)
while True:
    driver.get('https://www.kucoin.com/news/categories/listing')
    time.sleep(2)
    print(driver.find_element_by_xpath('//*[@id="root"]/div/div/div[3]/div/div[2]/div[1]/div/div[1]/div/div[2]/div[1]/a').text)
→ Ссылка