@acrytzat
Ничего не умею

Как спарсить эту картинку если в файле html ее нет?

Вот сайт: https://gdz-putina.net/5-klass-biologiya-pasechnik...
Я написал код
def get_link(url):
    html = urllib.request.urlopen(url)
    soup = BeautifulSoup(html, 'html.parser').find('div', class_='task', id='task')
    links = []
    for i in soup.find_all('a', href=True):
        a = i['href']
        link = url + a
        links.append(link)
    return links

и она мне выводит пустой список, а в исходнике сайта самой ссылке на картинку нет
<div id='media-6' class='media media-6 media-center'></div>
            <div class="task"
                 id="task"
                 data-host="//gdz-putina.net"
            ></div>

а на сайте она есть 5bc896d667c33824173071.png Как мне спарсить ссылку на картинку?
  • Вопрос задан
  • 422 просмотра
Решения вопроса 2
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Парсить с помощью Selenium.
Ответ написан
Комментировать
BlackLacost
@BlackLacost
Тут вроде Selenium не нужен. Так как можно просто найти все что нужно в json, который приходит по ajax
https://gdz-putina.net/json/5-klass-biologiya-pase...

Чтобы json в браузере отображался в человеческом виде, поставьте одно из расширений json viewer для chrome.

Такие сайты где данные подгружаются с помощью ajax легче всего парсить, так как сам владелец предоставил api для этого.

Узнать адрес json можно, нажав в chrome F12 -> Network -> XHR и там искать. После того как поймете логику создания адреса для json, сможете это делать автоматически уже парсером.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы