Найти - Пользователи
Полная версия: Парсинг книжного сайта
Начало » Data Mining » Парсинг книжного сайта
1
Pablic
Всем здравствуйте, прошу помочь с одним делом.
Ситуация такая: есть книжный сайт, который по специальной подписке даёт доступ к книге через собственный viewer. Доступ именно ко всем страницам книги можно получить только если ты авторизован на сайте с подпиской, но в если в браузере вставить url по типу "http/***/page/4" и открыть, то скачается svg файл с текстом страницы.
Исходя из этого я решил написать скрипт, который бы скачивал все страницы и сшивал бы их в книгу, но когда я использую такой запрос:
 import requests
s = requests.Session()
page = s.get('url страницы по которой идёт скачивание')
with open('./page.svg', 'w') as output_file:
  output_file.write(page.text)

Файл svg, после выполнения данных команд сохраняет страницу с надписью “Просмотр недоступен” как это было бы если я попытался посмотреть эту страницу в viewer'е без авторизации. На тот момент я был авторизован в аккаунте с подпиской.

Подскажите пожалуйста чего не хватает в запросе или как узнать какую ещё информацию от меня хочет сервер. Заранее спасибо
vic57
возможно станица динамическая, с JS. тут реквестом не обойдешься
посмотри код страницы в браузере
Pablic
vic57
возможно станица динамическая, с JS. тут реквестом не обойдешься посмотри код страницы в браузере
Если Вы имеете ввиду URL по которому файл спокойно скачиватся, то я не знаю как посмотреть его код в браузере. Я могу сказать точно, что после перехода по нему происходит GET запрос, который возвращает мне SVG файл со страницей. Что мешает мне со скрипта, грубо говоря, также обратиться к URL и получить файл?
vic57
смотрите на веб-инспекторе в браузере, вариантов что вам мешает много
Romissevd
Вероятно, что Pablic авторизован на сайте через какой-то из браузеров у себя. А авторизацию через requests не выполняет. Конечно могу и ошибаться, но исходя из представленного кода так и есть.
Lunnar
Проблема решена или еще актуальна?
Pablic
Lunnar
Проблема решена или еще актуальна?
Саму задачу решил, но использовал библиотеку selenium и тупо повторял свои действия на сайте
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB