Загрузка...

Parsing e-books

Thread in Python created by solo_rust Dec 16, 2024. (bumped Jan 6, 2025) 319 views

  1. solo_rust
    solo_rust Topic starter Dec 16, 2024 Banned 3 Sep 14, 2019
    Возникла потребность скачивать бесплатно эл.книги с сайта "Яндекс книги" их там дают по подписке но они мне нужны в виде файла .mobi .fb2 и т.п.
    Хотел написать парсер на питоне, чет не идет процесс.
    На сайте книга разбита по главам и каждая глава в отдельном html файле лежит во вкладке Network в DevTools. Как их от туда выудить? Я вообще не шарю, всё пишу с чатом гпт, он тож не шарит. Я уже написал код который все скачанные html преобразует в один, а потом конвертирует в .mobi, но автоматически качать не получается, только вручную, а там по 100глав в каждой книги :finger_down:
    [IMG]
     
  2. INACTIV_US_125
    INACTIV_US_125 Dec 16, 2024 BARABAN 269 Dec 4, 2024
    Закажи скрипт, а вообще просто отлавливай request На книгу или сам отправляй
     
    1. Солнцеестояние
      INACTIV_US_125, что ты имел ввиду?
      [IMG]
      в каждой книге есть n'ное количество глав, я я так понял что html файлы с главами названы рандомным образом, а ему надо полностью автоматический парс, но сайт откуда то же берет все эти файлы с рандомными названиями, я полагаю что у каждой киниг есть свой UID, а сайт делает запрос на свое API где и будут ссылку на все эти главы по UID'у книги, я не знаю конкретного случая и не смотрел серую апишку яндекс книг но это как предположение)
  3. lMixFixl
    lMixFixl Dec 16, 2024 1056 Apr 15, 2017
     
    1. solo_rust Topic starter
  4. Aisan
    Aisan Dec 23, 2024 Ничего не продаю и не создаю. Не пишите мне 15,856 Aug 26, 2020
    Смотри куда запрос идет и что возвращает и пиши свой парсер
     
  5. snordon
    snordon Jan 6, 2025 лучший пак для ворка - https://lolz.live/threads/8095400/ 244 Nov 25, 2021
    Как скачать главы книг с сайта "Яндекс книги"


    Подготовка: Сначала убедитесь, что вы понимаете, как работает сайт и где находятся ссылки на главы. Используйте инструменты разработчика в браузере, чтобы посмотреть, какие ссылки загружаются для каждой главы.
    Получение ссылок на главы:Когда вы откроете страницу книги, посмотрите в разделе "Network" на заруженные запросы. Там вы найдете ссылки на главы, в основном они будут в формате HTML.
    Использование Python: Если ссылки на главы уже известны, можете использовать библиотеку requests, чтобы их скачать.Установите нужные библиотеки, если они не установлены: pip install requests beautifulsoup4




    Code
    import requests
    from bs4 import BeautifulSoup

    # Введите ссылку на страницу книги
    book_url = "URL_ВАШЕЙ_КНИГИ"

    def get_chapter_urls(book_url):
    response = requests.get(book_url)
    soup = BeautifulSoup(response.text, 'html.parser')

    # Найдите ссылки на главы
    chapter_links = soup.find_all('a', class_='link_to_chapter')

    return [link.get('href') for link in chapter_links]

    def download_chapter(chapter_url):
    response = requests.get(chapter_url)
    return response.text

    def main():
    chapter_urls = get_chapter_urls(book_url)
    full_text = ""

    for chapter_url in chapter_urls:
    chapter_text = download_chapter(chapter_url)
    full_text += chapter_text + "\n\n"

    # Сохраните текст в файл
    with open("book.txt", "w", encoding='utf-8') as f:
    f.write(full_text)

    if __name__ == "__main__":
    main()
     
    1. solo_rust Topic starter
      snordon, ты щаз просто с гпт мне скинул?
    2. snordon
      solo_rust, да, работала вроде
    3. solo_rust Topic starter
      snordon, было бы всё так просто, как минимум куки надо подгружать, без них тебе текст книги не дадут.
    4. View the next comments (1)
  6. fxweerz
    fxweerz Feb 6, 2025 0 Sep 3, 2023
    а у тебя получилось по итогу это сделать? Прост я тож пишу парсер с Яндекс Книг сейчас и тож столкнулся с этой проблемой, точнее я не понимаю как мне без подключения силениума реквестить переключение на страницы, дабы спарсить оттуда текст, вроде бы я нашел реквест запрос в том же Network, который перелистывает страницы, но там всё захардкожено и я не осознаю что делать( :ehh:
     
Top
Loading...