我正在尝试从 URL 获取图像链接。
有些 URL 是相对的。所以,我用abs来解决。
但它无法解析,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/>");
}
}
不带abs的输出-
/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
正如您所看到的,第一个有用的图像链接消失了。 我不知道为什么会发生这种情况。
最佳答案
你尝试过吗?
out.println(img.absUrl("src")+"<br/>");
关于java - 通过abs解析相对图像URL失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19704712/