【问题标题】:The constructor URL(Elements) is undefined构造函数 URL(Elements) 未定义
【发布时间】:2014-12-15 11:57:45
【问题描述】:

我正在使用 jsoup 应用程序并尝试获取网页的 url。我得到了网页的网址。我试图通过 url 解析 仅获取图像 url 但是当向 url 发送请求时,我收到了这个错误 " 构造函数 URL(Elements) 未定义 "

我的问题是如何传递从 jsoup 库获得的 url 这是我的代码 ' public static void main(String[] 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]");'

并将这个 Lement 传递给 url 解析函数

URL url = new URL(imagepath);

谁能帮我弄清楚如何让 url 解析功能起作用 提前谢谢

【问题讨论】:

    标签: url jsoup


    【解决方案1】:

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

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

    这应该可以帮助您在申请中取得进展。我很乐意回答您可能有的任何其他问题。

    【讨论】:

    • 我使用了你的代码,但它不起作用。在 imagepath veriable 中,我将发送到我从 jsoup 库获得的 url 的存储列表,然后该 url 将检查图像 url,然后我的图像将下载
    • 它可以工作,但我正在获取默认网址:amrood.com/index.htm?language=en#j2se 你能告诉我如何在 imanepath 中存储 url 列表以进行进一步计算
    • 如果您想从网站上获取图片,您可能应该将您的选择器限制为img 元素,然后在循环中您可以使用abs:src 选择器选择所有绝对网址。我已经编辑了我的答案,所以它包含一个改进的代码示例。
    • 抱歉回复晚了,我删除了获取脚本位置和链接位置等附加信息的代码,并使用了上面的代码,运行后出现错误“文档无法解析”,请帮我等待回复....
    猜你喜欢
    • 2020-04-11
    • 1970-01-01
    • 2012-03-24
    • 1970-01-01
    • 1970-01-01
    • 2011-04-11
    • 2020-09-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多