Jsoup и кириллица в URL
Jsoup и кириллица в URL
Здравствуйте.
Пытаюсь распарсить html при помощи Jsoup. Если адрес страницы содержит только латинские символы (например http://cat.jpg.to), то все работает нормально. Но если в адресе встречается кириллица (например http://кот.jpg.to), то парсинг не работает. Вылетает ошибка UnknownHostException.
Кто-нибудь сталкивался с такой проблемой?
Пытаюсь распарсить html при помощи Jsoup. Если адрес страницы содержит только латинские символы (например http://cat.jpg.to), то все работает нормально. Но если в адресе встречается кириллица (например http://кот.jpg.to), то парсинг не работает. Вылетает ошибка UnknownHostException.
Кто-нибудь сталкивался с такой проблемой?
Re: Jsoup и кириллица в URL
utf-8
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.
Re: Jsoup и кириллица в URL
Спасибо за очень оперативный и содержательный ответ
Но к сожалению конструкция адреса ссылки
как и исходная конструкция
не работает.
Но к сожалению конструкция адреса ссылки
Код: Выделить всё
src = "http://"+URLEncoder.encode("кот", "UTF-8")+".jpg.to/";
Код: Выделить всё
src = "http://"+"кот"+".jpg.to/";
Re: Jsoup и кириллица в URL
Скорее всего кодировка применяется к содержимому ссылки, а не к ее адресу.
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.
Re: Jsoup и кириллица в URL
Если я правильно понял комментарий, то нет.
Содержимое страницы http://кот.jpg.to/
Т.е. адрес самой картинки не содержит кириллицы.
Ну ОК. Пока тупик.
Попробую другой парсер.
Содержимое страницы http://кот.jpg.to/
Код: Выделить всё
<html>
<head></head>
<body><img style="margin:0;position:absolute;top:0;left:0;" src="http://upload.wikimedia.org/wikipedia/commons/thumb/c/ca/Niobe050905-Siamese_Cat.jpeg/220px-Niobe050905-Siamese_Cat.jpeg">
</body>
</html>
Ну ОК. Пока тупик.
Попробую другой парсер.
Re: Jsoup и кириллица в URL
GlueBF писал(а):Если я правильно понял комментарий, то нет.
Ошибка возникает раньше чем ты скачаешь хтмл файл. UnknownHostException - неизвестный хост. При чем здесь адрес твоей картинки? чтобы добраться до адреса пикчи - нужно обработать адрес самой страницы, который и содержит кириллицу.
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.
Re: Jsoup и кириллица в URL
Наконец-то разобрался с вопросом.
Резюме: связка Jsoup + URLEncoder отлично работает для URL содержащих кириллицу.
Как получилось.
Пробовал разные html-парсеры, ни один не хотел работать. Напомню - задачей было получить из содержания html-страницы по адресу http://###.jpg.to/ (где ### - любое слово как на латинице, так и на кириллице) ссылку на единственное изображение на этой странице (ну а затем скачать это изображение). При отсутствии кириллицы все и всегда работало, а при ее наличии не работало ничего и никогда.
К счастью у данного сервиса оказалась еще одна реализация: http://jpg.to/###. Вот тут все заработало сразу. Видимо это какие-то проблемы конкретного сайта, дальше копать не стал.
Т.о. в итоге я использовал конструкцию:
где в поле etName вводится слово (### в описании выше), а в imgSrc с помощью Jsoup получается ссылку на изображение.
Бинго.
Резюме: связка Jsoup + URLEncoder отлично работает для URL содержащих кириллицу.
Как получилось.
Пробовал разные html-парсеры, ни один не хотел работать. Напомню - задачей было получить из содержания html-страницы по адресу http://###.jpg.to/ (где ### - любое слово как на латинице, так и на кириллице) ссылку на единственное изображение на этой странице (ну а затем скачать это изображение). При отсутствии кириллицы все и всегда работало, а при ее наличии не работало ничего и никогда.
К счастью у данного сервиса оказалась еще одна реализация: http://jpg.to/###. Вот тут все заработало сразу. Видимо это какие-то проблемы конкретного сайта, дальше копать не стал.
Т.о. в итоге я использовал конструкцию:
Код: Выделить всё
imgURL = "http://jpg.to/"+URLEncoder.encode(etName.getText().toString(), HTTP.UTF_8);
Document doc = Jsoup.connect(imgURL).get();
Elements metaElement = doc.select("img");
imgSrc = metaElement.attr("src");
Бинго.
-
- Сообщения: 6
- Зарегистрирован: 24 май 2014, 21:01
Re: Jsoup и кириллица в URL
У меня немного другая проблема. Я парсю сайт с картинками и в ссылках на некоторые встречается кириллица <img src="http://dog.org/sites/default/files/images/ главной!.thumbnail.jpg">
как это решить? Подскажите пожалуйста!!!
как это решить? Подскажите пожалуйста!!!
Re: Jsoup и кириллица в URL
Быдло сайт значит. Все адекватные разрабы перегоняют в транслит.AKhorevich писал(а):У меня немного другая проблема. Я парсю сайт с картинками и в ссылках на некоторые встречается кириллица <img src="http://dog.org/sites/default/files/images/ главной!.thumbnail.jpg">
как это решить? Подскажите пожалуйста!!!
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.
-
- Сообщения: 6
- Зарегистрирован: 24 май 2014, 21:01
Re: Jsoup и кириллица в URL
Разработчик сайта не я, откуда у него растут руки - это чисто его физиологические проблемы, мне просто надо данный сайт запарсить.