Как выполнить «Сохранить как» в IE (Internet Explorer) автоматически? - PullRequest
0 голосов
/ 14 января 2010

Я хочу открыть веб-страницу (URL-адрес которой указан в качестве аргумента командной строки), а затем сохранить ее содержимое в виде файла .txt.

Помните, мне нужен файл .txt, а не источник веб-страницы.

Я попробовал свои силы с селеном, и он отлично работает. Но теперь я хочу что-то, что не открывает настоящий браузер, так как открытие браузера и загрузка страницы в нем - трудоемкая задача.

Я хочу сделать это в Java.

Под содержимым я подразумеваю текст (без разметки), который мы получаем, когда сохраняем веб-страницу в IE, перейдя в «Сохранить как» и выбрав «.txt» в качестве формата вывода файла.

Ответы [ 2 ]

3 голосов
/ 14 января 2010

Если я правильно понимаю ваш вопрос, вы хотите отобразить страницу и скопировать отображаемый текст без использования навигатора.

Для этого вам понадобится безголовый браузер. HTMLUnit будет хорошим выбором.

Чтобы получить текстовое содержимое, вы можете сделать это следующим образом (не проверено):

WebClient c = new WebClient(BrowserVersion.INTERNET_EXPLORER_6);
TextPage tp = c.getPage("yoururl");
String content = tp.getContent();

(см. Javadoc )

0 голосов
/ 14 января 2010

Хм, я бы даже написал это с нуля, не кажется сложным и, возможно, даже не стоит добавлять в ваш проект зависимость от другой библиотеки:

  • Открыть URLConnection для этого URL
  • Получите поток из соединения, примените регулярное выражение, чтобы вырезать весь HTML-код для данных. Если ожидается, что страница не будет слишком большой для ваших требований к памяти :) прочтите страницу в String, затем примените регулярное выражение. В качестве альтернативы, попробуйте то, что описано здесь (хотя у меня нет опыта описанного там способа).
  • Сохранить вывод в текстовом формате.
...