2014-10-20 208 views
1

我使用jsoup应用程序并试图获取网页的网址。我有网页的网址。我尝试通过URL解析 只得到图像的URL,但发送请求的URL我得到这个错误 当“构造URL(元素)是不确定的”构造函数URL(元素)未定义

我的问题是如何传递的网址,我从jsoup库 这里得到的是我的代码 公共静态无效的主要(字串[] args)抛出IOException异常{

Validate.isTrue(args.length == 1, "usage: supply url to fetch"); 
    String url = args[0]; 
    print("Fetching %s...", url); 
    Document doc = Jsoup.connect(url).get(); 
    Elements links = doc.select("a[href]"); 
    Elements media = doc.select("[src]"); 
    Elements imports = doc.select("link[href]"); 

' 和使用

'Elements imagepath = doc.select("[src]");' 

,并把该字元素到URL分析功能

URL url = new URL(imagepath); 

任何人都可以帮助我弄清楚如何获得URL分析功能可在提前 感谢

回答

2

你会得到异常的原因因为您将Elements传递给URL构造函数 - Elements只是List<Element>的专门化。这意味着您可能有多个图像分配给imagepath变量。如果你想构建从刮下图像URL对象,考虑下面的代码示例:

Elements images = document.select("img"); 
for (Element element : images) { 
    System.out.println(element.attr("abs:src")); 
} 

这应该可以帮助你做你的应用进展。我很想回答你可能有的任何进一步的问题。

+0

我用你的代码,但它没有奏效。在imagepath veriable中,即时通讯发送到存储我从jsoup librabry得到的url列表,然后url将检查图像url后,我的图像将donwload – 2014-10-21 08:39:20

+0

它的工作原理,但我得到默认URL:http://www.amrood。 com/index.htm?language = en#j2se可以吗?请告诉我如何在imanepath中存储url列表,并且可以进一步计算 – 2014-10-21 08:56:56

+0

如果你想从网站上获取图片,你应该限制你的选择器'img'元素,然后在循环中你可以用'abs:src'选择器选择所有的绝对地址。我编辑了我的答案,因此它包含一个改进的代码示例。 – 2014-10-21 09:51:34