Пайтон загружать PDF, интегрированного в Веб

Недавно, который по причине работы я изменил, чтобы программировать в Пайтоне и чтобы реализовывать Веб Scraping.

Я продвинул достаточно в разряде файлов, всякий раз когда я был начиная со ссылок разряда, довольно прямо, или проверяя Веб.

Моя проблема сейчас, он с Вебом с браузером инкрустированным PDF, который, чтобы это загружать, ты кликаешь в значке разряда, и пересылает тебя в другой Веб с этим же самым PDF, интегрированным, чтобы мочь загружать это.

Посмотрим вы можете бросать мне руку или вести меня в правильном адресе, я искал достаточно, но не могу стать понятным много в этом случае.

Веб в вопросе этот:

http://www.cembre.es/Catalogues

Большое спасибо.

0
задан 06.11.2019, 11:05
1 ответ

pdf в cuestiГіn показывает себе в одном <iframe>, который в фоне другой pГЎgina (что podrГ, - чтобы быть на другом сервере), что интегрирована в ту, которая estГЎs видя.

С точки зрения scraping, контента iframe не составляет часть ее pГЎgina настоящий, и чтобы мочь соглашаться на Ваши контенты, deberГ-эксперт, делать GET в унифицированный указатель ресурса этого iframe, которого в этом случае http://www.cembre.es/flexPaper/CG_S/index.html

, Однажды ты вернул HTML этой другой pГЎgina, можешь продолжать делать scraping в той же самой. В этом случае, HTML, который ты загружаешь едва, ничего не содержит, так как это производитель, основанный на языке сценариев JavaScript, чтобы видеть документы pГЎgina в pГЎgina, и весь интерфейс этого производителя (включая botГіn, чтобы это загружать) он не составляет часть HTML, который ты получаешь, но он создан dinГЎmicamente, выполнив соответствующий язык сценариев JavaScript.

, Так как python он не может выполнять javascript ее soluciГіn обычно в этом типе pГЎginas, созданный dinГЎmicamente, состоит в том, чтобы использовать Selenium. Эта soluciГіn использует реальный браузер (Chrome, Firefox), но "teledirigido" с python, что симулирует действия пользователя, как щелкание кнопок, и т.д. и может соглашаться на вытекающий документ вслед за нею ejecuciГіn javascript в этом браузере.

К счастью в этом случае quizГЎs не был необходим столько complicaciГіn, так как в HTML, который мы загрузили Frame, мы можем видеть что-то как:

<script type="text/javascript">
    // viewer start
    $('#documentViewer').FlowPaperViewer(
            { config : {
                PDFFile                 : 'docs/CG_S_[*,2,true].pdf?reload=1544537052019',
                IMGFiles                : 'docs/CG_S.pdf_{page}.jpg?reload=1544537052019',
                HighResIMGFiles         : '',
                JSONFile                : 'docs/CG_S.pdf_{page}.bin?reload=1544537052019',
                JSONDataType            : 'lz',
                ThumbIMGFiles           : 'docs/CG_S.pdf_{page}_thumb.jpg?reload=1544537052019',
                SWFFile                 : '',
                FontsToLoad             : null,

                Scale                   : 0.1,
                ZoomTransition          : 'easeOut',
...etc...

и между этими parГЎmetros мы можем "догадываться" о том, что маршрут, чтобы соглашаться на документ serГ - в docs/CG_S.pdf. Действительно, если ты делаешь GET в унифицированный указатель ресурса http://www.cembre.es/flexPaper/CG_S/docs/CG_S.pdf, ты получаешь документ.

Автоматизировать это может не быть простым. QuizГЎs это mГЎs простой serГ, - чтобы использовать одну expresiГіn регулировать, чтобы находить внутри HTML iframe текст

IMGFiles                : 'docs/CG_S.pdf_{page}.jpg?reload=1544537052019

и извлекать из этой lГ-nea маршрут docs/CG_S.pdf, прилагать ее в маршрут той, которая descargГі iframe, и asГ - строить маршрут pdf.

0
ответ дан 01.12.2019, 12:35
  • 1
    Совершенный! Большое спасибо, я не догадался, что внутри Веба iframe был этот текст, и благодаря этому я смог реализовывать это, и что это загрузил на всех языках, большое спасибо! – Ruben 06.11.2019, 17:52

Теги

Похожие вопросы