如果我将加密的html文件解析为字符串,则可以某种方式从中获取文本吗?

时间:2018-11-21 22:28:54

标签: java html encryption

    import java.net.*;
    import java.io.*;
    import org.jsoup.Jsoup;
    import org.jsoup.helper.Validate;
    import org.jsoup.nodes.Document;
    import org.jsoup.nodes.Element;
    import org.jsoup.select.Elements;


    public class UrlReaderTest {
        public static void main(String[] args) throws Exception {

        URL url = new URL("https://www.amazon.com/");
        String s = null;
        StringBuilder contentBuilder = new StringBuilder();
        try {
            BufferedReader in = new BufferedReader(new 
            InputStreamReader(url.openStream())); 
            String str;
            while ((str = in.readLine()) != null) {
                contentBuilder.append(str);
            }
            in.close();
        } catch (IOException e) {
            System.err.println("Error");

        }

        s = contentBuilder.toString();
        Document document = Jsoup.parse(s);


        System.out.println(document.text());


        }
    }

我得到的主要符号如下:Η1?0Π??0ή=tθJr?/β@ Q? ? Αl4ςRΛ\KR545υ?SK

我可以做些什么来将其转换为可以使用的形式吗? 我在网上找不到特定的内容。

编辑:我具体想要的是解密该信息。例如,我想要的是能够从Facebook搜索的事件页面中获取文本,以找到我想要的关键字并在其他地方使用这些关键字。

1 个答案:

答案 0 :(得分:4)

正如@ t.m.adam在其评论中指出的那样,问题在于来自流的响应被压缩(压缩)。因此,如果您想从URL流中读取它,则需要在GZIPInputStream之前通过InputStreamReader传递它(请参阅this answer)。或者,按照@ t.m.adam的建议,您可以使用Jsoup的内置connect()方法:

import java.io.IOException;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

public class UrlReaderTest {
  public static void main(String[] args) {
    System.out.println(System.getProperty("java.classpath"));
    try {
      Document doc = Jsoup.connect("https://www.amazon.com").get();
      System.out.print(doc.text());
    }
    catch (IOException e) {
      System.err.println("Error");
    }

  }
}