Как сохранить сайт, созданный с javascript в файл - PullRequest
3 голосов
/ 13 января 2020

Немного информации:

Когда "проверено" (Google Chrome), на веб-сайте отображается нужная мне информация (а именно, простая ссылка на .pdf).

Когда Я взламываю сайт, только его часть сохраняется. Это в сочетании с тем фактом, что есть функции и теги , заставляет меня поверить, что виновником является javascript (я, честно говоря, не уверен на 100%, поскольку я довольно новичок в этом).

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

Вопрос:

Есть ли у меня способ, в bash, запустить эту javascript и сохранить новый HTML код, который он генерирует в файл?

Ответы [ 2 ]

1 голос
/ 13 января 2020

Если вы хотите загрузить веб-страницу, которая генерирует себя с JavaScript, вам необходимо выполнить это JavaScript для загрузки страницы. Для этого вы можете использовать библиотеки, которые делают это, например, puppeteer с NodeJS. Есть много других библиотек, но это самые популярные.

Если вам интересно, почему это происходит, то это потому, что веб-разработчики часто используют фреймворки, такие как React, Vue или Angular, чтобы цитировать наиболее популярные, которые генерируют только вывод JavaScript, который не выполняется обычными HTTP-запрашивающими библиотеками.

1 голос
/ 13 января 2020

Не тривиально.

Как правило, для этого подхода вам необходимо:

  • Создать DOM из HTML
  • Выполнить JavaScript в контексте этого DOM При разрешении URL-адресов относительно URL-адреса, который вы выбрали HTML из

Существуют инструменты, которые могут помочь с этим, такие как Puppeteer, Phantom JS и Selenium, но они обычно поддаются управляется с более мощными языками программирования, чем bash.

В качестве альтернативы вы можете взглянуть на реверс-инжиниринг страницы. Он получает данные от куда-то . Вы, вероятно, можете определить URL-адреса (там полезна вкладка «Сеть» инструментов разработчика браузера) и получить к ним прямой доступ.

...