Недавно, который по причине работы я изменил, чтобы программировать в Пайтоне и чтобы реализовывать Веб Scraping.
Я продвинул достаточно в разряде файлов, всякий раз когда я был начиная со ссылок разряда, довольно прямо, или проверяя Веб.
Моя проблема сейчас, он с Вебом с браузером инкрустированным PDF, который, чтобы это загружать, ты кликаешь в значке разряда, и пересылает тебя в другой Веб с этим же самым PDF, интегрированным, чтобы мочь загружать это.
Посмотрим вы можете бросать мне руку или вести меня в правильном адресе, я искал достаточно, но не могу стать понятным много в этом случае.
Веб в вопросе этот:
http://www.cembre.es/Catalogues
Большое спасибо.
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.