2014-12-10 6 views
-1

Я закодировал java-программу для извлечения содержимого веб-страницы жестко закодированного URL. Теперь я хочу извлечь URL-адрес из веб-браузера по мере того, как пользователь посещает его, вместо использования жестко закодированного URL-адреса. существуют ли какие-либо java-библиотеки или API-интерфейсы?Извлечение URL из адресной строки браузера

+0

[** 'document.location' **] (https://developer.mozilla.org/en-US/docs/Web/API/document.location) или **' request.getRequestURL() '* * ?? –

+0

Ваш вопрос касается java или javascript? –

+0

Я хочу, чтобы URL-адрес не был указан. Вопрос о java –

ответ

0

В документе HTML есть несколько шаблонов и разных тегов. Извлечение полезной информации (соответствующего контента) нелегко, потому что вы должны понимать, как написана страница, чтобы действительно знать, какая часть контента релевантна или нет.

Существует общее предложение извлечь только релевантный контент с веб-страницы, называемой biolerpipe, которая была опубликована в ACM. Он использует некоторые эвристики, чтобы найти соответствующие фрагменты текста и извлечь их.

Если вы хотите извлечь URL-адрес из документа, вам необходимо найти и извлечь URL-адрес, или, если URL-адрес не находится в теге, вам нужно искать внутри содержимого страницы для шаблона url для извлечения ссылку правильно. Нет другого способа получить URL-адреса со страниц (документов).

Вы не можете избежать HTML-тегов и сценариев, представленных в содержимом URL-адреса (в том виде, в котором браузер показывает вам), поскольку эти теги являются частью содержимого URL-адреса. Чтобы получить соответствующий контент URL-адреса, вы можете использовать котел для извлечения полезной информации (которая использует класс URL). В противном случае вы можете использовать класс URL.

После того, как вы boilerpipe на вашем пути к классам, извлекая «основной» содержание с веб-страницы очень просто:

URL url = new URL("http://www.example.com/some-location/index.html"); 
// NOTE: Use ArticleExtractor unless DefaultExtractor gives better results for you 
String text = ArticleExtractor.INSTANCE.getText(url); 

Но есть некоторые страницы, которые Boilerpipe не может извлечь, что я установил here. Я прикрепил исходный код к исправлению. Это исправление позволяет избежать следующего исключения "HTTP response code : 403 for URL" на некоторых страницах.

+0

Я не хочу получать URL-адрес данной страницы. Я хочу получить URL-адрес любой веб-страницы, когда пользователь посещает ее. Есть ли способ использовать javascript в java-коде для этого? –

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