Seomat
Seomat

Reputation: 143

Java JSoup: Modifying URL

I have this:

<a href="http://google.com">Google</a>

But I need this result. As you see I want to modify the URL:

<a href="http://HERE_IS_MY_DOMAIN?http://google.com">Google</a>

Here is my code in java that parse the URL and gets parsed page:

String sitePath = "http://google.com/";
    Document doc = Jsoup.connect(sitePath).userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36").get();

    Elements elements = doc.select("body");

    Elements imgElements = doc.select("img");
    for (Element element : imgElements) {
        element.attr("src", element.attr("abs:src"));
    }
    Elements hrefElements = doc.select("a");
    for (Element element : hrefElements) {
        element.attr("href", element.attr("abs:href"));
    }
    Elements linkElements = doc.head().select("link");
    for (Element element : linkElements) {
        element.attr("href", element.attr("abs:href"));
    }

    manipulateElements(elements);

    File fileDir = new File("res.html");
    Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fileDir), "UTF8"));

    out.write(doc.toString());
    out.flush();
    out.close();
}

Upvotes: 2

Views: 335

Answers (1)

Hasanaga
Hasanaga

Reputation: 1098

        Elements imgElements = doc.select("img");
        for (Element element : imgElements) {
            element.attr("src", "http://HERE_IS_MY_DOMAIN.com?"+element.attr("abs:src"));
        }

        Elements hrefElements = doc.select("a");
        for (Element element : hrefElements) {
            element.attr("href", "http://HERE_IS_MY_DOMAIN.com?"+element.attr("abs:href"));
        }

        Elements linkElements = doc.head().select("link");
        for (Element element : linkElements) {
            element.attr("href", "http://HERE_IS_MY_DOMAIN.com?"+element.attr("abs:href"));
        }

Upvotes: 2

Related Questions