1

URLから画像リンクを取得しようとしています。
一部の URL は相対です。だから、私は abs を使って解決しています。
しかし、解決できず、相対 URL を非表示にします。

abs のない私のコード:

String linktopro = "http://www.washingtonpost.com/politics/promises-promises-a-big-obama-health-insurance-promise-that-never-stood-a-chance/2013/10/31/4a465f78-41fd-11e3-b028-de922d7a3f47_story.html";

Document doc = Jsoup.connect(linktopro).userAgent("Mozilla/5.0 (Windows; U; WindowsNT 5.1; en-US; rv1.8.1.6) Gecko/20070725 Firefox/2.0.0.6").timeout(30000).get();
Elements wp_columns = doc.select("div[class=wp-column ten margin-right main-content]");

for(Element wp_column : wp_columns)
{
    String wp_column_string = wp_column+"";
    Document wp_column_doc = Jsoup.parse(wp_column_string);
    Elements imgs = wp_column_doc.select("img");

    for(Element img : imgs)
    {
        out.println(img.attr("src")+"<br/>");
    }
}

アブソなし出力

/rf/image_606w/2010-2019/Wires/Online/2013-10-31/AP/Images/Obama Health Care.JPEG-09824.jpg
http://www.washingtonpost.com/rw/sites/twpweb/img/blogs/spacer.gif
http://www.washingtonpost.com/rw/sites/twpweb/img/blogs/spacer.gif
http://www.washingtonpost.com/rw/sites/twpweb/img/blogs/spacer.gif
http://www.washingtonpost.com/rw/sites/twpweb/img/blogs/spacer.gif

abs を使用した私のコード -

String linktopro = "http://www.washingtonpost.com/politics/promises-promises-a-big-obama-health-insurance-promise-that-never-stood-a-chance/2013/10/31/4a465f78-41fd-11e3-b028-de922d7a3f47_story.html";

Document doc = Jsoup.connect(linktopro).userAgent("Mozilla/5.0 (Windows; U; WindowsNT 5.1; en-US; rv1.8.1.6) Gecko/20070725 Firefox/2.0.0.6").timeout(30000).get();
Elements wp_columns = doc.select("div[class=wp-column ten margin-right main-content]");

for(Element wp_column : wp_columns)
{
    String wp_column_string = wp_column+"";
    Document wp_column_doc = Jsoup.parse(wp_column_string);
    Elements imgs = wp_column_doc.select("img");
    for(Element img : imgs)
    {
        out.println(img.attr("abs:src")+"<br/>");
    }
}

absで出力 -

http://www.washingtonpost.com/rw/sites/twpweb/img/blogs/spacer.gif
http://www.washingtonpost.com/rw/sites/twpweb/img/blogs/spacer.gif
http://www.washingtonpost.com/rw/sites/twpweb/img/blogs/spacer.gif
http://www.washingtonpost.com/rw/sites/twpweb/img/blogs/spacer.gif

ご覧のとおり、最初の有用な画像リンクが消えます。なぜこれが起こるのかわかりません。

4

1 に答える 1

1

やってみました?

 out.println(img.absUrl("src")+"<br/>");
于 2013-11-01T15:24:05.540 に答える