Как скачать текст в виде базы данных с сайта?

Я новичок в Python. Мне нужно спарсить информацию с сайта https://skazki-basni.ru/skazki/, чтобы она была представлена в виде таблицы с названием сказки и текстом. Когда я пытаюсь вывести все данные из таблицы с помощью

for tag in soup.find_all('tbody')

выводится список не всех сказок, которые есть на сайте. Как сделать так, чтобы выводились все названия и все тексты?


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

Автор решения: Jack_oS

Весь список сказок со ссылками на них с этого сайта можно скачать как json:

import requests


def tales():
    headers = {
        'User-Agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36',
    }
    url = 'https://skazki-basni.ru/wp-json/noindex/api/4'
    
    r = requests.get(url, headers=headers)
    data = r.json()['data']

    for i, tale in enumerate(data, 1):
        print(f'{i:5} {tale[0]["title"]} {tale[0]["link"]}')

После исполнения tales():

   1 Ганс мой Еж https://skazki-basni.ru/skazki/grimm/gans-moj-ezh/
   2 Королек https://skazki-basni.ru/skazki/grimm/korolek/
   3 Пёс и воробей https://skazki-basni.ru/skazki/grimm/pjos-i-vorobej/
...
...
...
4774 Красная Шапочка https://skazki-basni.ru/skazki/perro/krasnaja-shapochka/
4775 Кот в сапогах https://skazki-basni.ru/skazki/perro/kot-v-sapogah/
4776 Золушка https://skazki-basni.ru/skazki/perro/zolushka/
→ Ссылка