2015-01-05 3 views
0

Мне нужно получить содержимое некоторых веб-страниц, таких как «http://www.ncbi.nlm.nih.gov/nuccore/NM_007002» для моего проекта. Проблема в том, что мне нужно открыть страницу из браузера и сохранить ее, чтобы получить полный контент (если я пытаюсь использовать URL-адрес библиотек и BufferReader, я получаю «фрейм» страницы, но не тот текст, который мне нужен). Мой профессор сказал мне использовать Seleniume, чтобы открыть и загрузить нужные мне страницы, а затем прочитать и проанализировать соответствующую информацию.открыть и сохранить веб-страницу selenium java

К сожалению, я не могу найти пример из кода JAVA, который открывает и сохраняет веб-страницу. Может ли кто-нибудь объяснить мне, как это сделать?

Я хочу СОХРАНИТЬ страницу на свой компьютер, а не копировать источник и сохранять его для файла. Не вся информация появляется в источнике! Он скрыт.

+0

Сохранение веб-страницы? С тегами HTML или только текстом веб-страницы? –

+0

Возможный дубликат [Как сохранить текущий источник страницы в другом названии и папке] (http://stackoverflow.com/questions/13003283/how-to-save-current-page-source-in-different-name-folder) – Louis

ответ

3

В Selenium вы можете сделать это:

SafariDriver driver = new SafariDriver(); //you can use any drivers like Chrome,FireFox 
driver.get("your link"); 
String pageSource = driver.getPageSource(); //now you have the page source 
//you can save the pageSource to the file or do what ever you want. 

Посмотрите на getPageSource документы here.

Если вы хотите получить данные из специальных тегов, как, скажем, к примеру body, то вы можете сделать это:

String pageSource=driver.findElement(By.tagName("body")).getText(); 
+0

Это не то, что мне нужно. Мне нужно сохранить страницу на свой компьютер. Только тогда информация, которая мне нужна, является avilable. – Artemis

+0

@yalush: Вы хотите сохранить страницу на компьютер, тогда почему вы не можете сделать это с помощью 'File'? –

+0

Потому что File сохраняет текст страницы, и мне нужна сама страница, так же, как при использовании «save as ...». Мне это нужно, потому что часть информации на этой странице скрыта и появляется в этом случае только при сохранении страницы на моем компьютере. – Artemis

1

Имейте в виду, что Селен предназначен для автоматизации веб-страницы, так и для взаимодействия с страницы автоматически. Если только источник действительно то, что вам нужно, вы можете использовать JSoup действительно твердый Java Html парсер, в две строки кода, вы должны иметь свой источник

 try { 
      Document doc = Jsoup.connect("http://www.ncbi.nlm.nih.gov/nuccore/NM_007002").userAgent("Mozilla/5.0").timeout(30000).get(); 
      System.out.println(doc.toString()); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
+0

Вы можете открыть страницу sourse и увидеть problam для себя. Вы можете видеть, что слово «экзон» появляется много времени на странице, но только одно в ресурсе. Если я попытаюсь прочитать исход, я не смогу получить всю необходимую мне информацию. – Artemis

Смежные вопросы