简体   繁体   中英

How to save a jsoup document as text file

I am trying to save all of the readable words on a web page into one text document while ignoring html markup. Using JSoup to parse all of the words on a webpage, my only guess of how to seperate the real words from the code is through elements.

Is it possible to convert multiple elements of the jsoup document into a text file?

ie:

        Elements titles = doc.select("title");
        Elements paragraphs = doc.select("p");
        Elements links = doc.select("a[href]"); 
        Elements smallText = doc.select("a");

Currently saving the parse as a document with:

 Document doc = Jsoup.connect("https:// (enter a url)").get();

Its simple way

Document doc = Jsoup.connect("https:// (enter a url)").get();
        BufferedWriter  writer = null;
        try
        {
            writer = new BufferedWriter( new FileWriter("d://test.txt"));
            writer.write(doc.toString());

        }
        catch ( IOException e)
        {
        }

Adding answer because I am unable to comment above.

Replace writer.write(doc.toString()); by writer.write(doc.select("html").text()); in the above code.

It will give you the text on the page.

Instead of "html" in doc.select("**html**").text() other tags can be used to extract text enclosed in those tags.

Edit: you can also use writer.write(doc.body().text());

After writing in the text with writer.write(doc.text()); the very next line you need to write writer.close(); this will fix the problem.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM