входной URL, вывод содержимого «просмотра исходного кода страницы», то есть после javascript / etc, библиотеки или командной строки - PullRequest
1 голос
/ 26 мая 2010

Мне нужен масштабируемый автоматизированный метод выгрузки содержимого «источника просмотра страницы» после манипуляций в файл. Этот неинтерактивный метод будет (более или менее) идентичен армии людей, которые перемещаются по моему списку URL-адресов и выдают «просмотр исходной страницы» в файл. Такие программы, как wget или curl, будут неинтерактивно получать набор URL-адресов, но не будут выполнять javascript или какой-либо из этих «модных штучек».

Мое идеальное решение выглядит следующим образом (фантастические решения):

cat urls.txt | google-chrome --quiet --no-gui \
--output-sources-directory=~/urls-source  
(fantasy command line, no idea if flags like these exist)

или

cat urls.txt | python -c "import some-library; \
... use some-library to process urls.txt ; output sources to ~/urls-source"    

В качестве второстепенного вопроса мне также необходимо:

  • сбросить все включенные исходные тексты javascript в файл (а-ля firebug)
  • dump pdf / изображение страницы в файл (печать в файл)

Ответы [ 2 ]

1 голос
/ 26 мая 2010

Блок HTML выполняет JavaScript. Не уверен, сможете ли вы получить HTML-код после манипуляций с DOM, но попробуйте.

Вы можете написать небольшую Java-программу, которая соответствует вашим требованиям, и выполнить ее через командную строку, как в ваших примерах.

Я не пробовал приведенный ниже код, просто взглянул на JavaDoc:

public static void main(String[] args) {

    String pageURL = args[1];

    WebClient webClient = new WebClient();
    HtmlPage page = webClient.getPage(pageURL);

    String pageContents = page.asText();

    // Save the resulting page to a file

}

РЕДАКТИРОВАТЬ :

Selenium (еще один фреймворк для веб-тестирования) может делать скриншоты страниц.

Поиск selenium.captureScreenshot .

0 голосов
/ 27 мая 2010

Вы можете использовать IRobotSoft web scraper, чтобы автоматизировать это. Исходный код находится в переменной UpdatedPage. Вам нужно только сохранить переменную в файл.

Имеется функция CapturePage () для захвата веб-страницы в файл изображения.

...