Я пытаюсь прочитать HTML-код с определенного URL-адреса и сохранить его в строке для анализа.Я сослался на предыдущий пост , чтобы выручить меня.Когда я распечатываю прочитанное, я получаю только специальные символы.
Вот мой Java-код (с опущенным try / catches), который читает с URL и печатает:
String path = "https://html1-f.scribdassets.com/913q5pjrsw60h9i4/pages/106-6b1bd15200.jsonp";
URL url = new URL(path);
InputStream in = url.openStream();
BufferedReader bw = new BufferedReader(new InputStreamReader(in, "UTF-8");
String line;
while ((line = bw.readLine()) != null) {
System.out.println(line);
}
Вывод программы:
�ĘY106-6b1bd15200.jsonpmP�r� �Ƨ�!�%m�vD"��Ra*��w�%����ݳ�sβ��MK�d�9+%�m��l^��މ����:���� ���8B�Vce�.A*��x$FCo���a�b�<����Xy��m�c�>t����� �Z������Gx�o� �J���oKe�0�5�kGYpb�*l����+|�U���-�N3��jBp�R�z5Cۥjh��o�;�~)����~��)~ɮhy��<c,=;tHW���'�c�=~�w���
Ожидаемый результат:
window.page106_callback(["<div class=\"newpage\" id=\"page106\" style=\"width: 902px; height:1273px\">\n<div class=image_layer style=\"z-index: 1\">\n<div class=ie_fix>\n<img class=\"absimg\" style=\"left:18px;top:27px;width:860px;height:1077px;clip:rect(1px 859px 1076px 1px)\" orig=\"http://html.scribd.com/913q5pjrsw60h9i4/images/106-6b1bd15200.jpg\"/>\n</div>\n</div>\n</div>\n\n"]);
Сначала я подумал, что это проблема с разрешениями или чем-то, что каким-то образом зашифровало поток, но мой друг написал небольшой скрипт на Python, чтобы сделать то же самое, и этоработал, тем самым исключая это.Вот что он написал:
import requests
link = 'https://html1-f.scribdassets.com/913q5pjrsw60h9i4/pages/106-
6b1bd15200.jsonp'
f = requests.get(link)
text = (f.text)
print(text)
Итак, вопрос в том, почему версия Java не может правильно читать и печатать с этого конкретного URL-адреса? Обратите внимание, что я пытался протестировать некоторые другие URL-адресас разных сайтов и те работали нормально.Может быть, я должен выучить Python.