如何使用Jsoup提取图像的src

时间:2016-01-02 03:54:06

标签: java jsoup

我正在尝试使用Jsoup从在线购物网站Flipkart中删除产品的图像src。这是我试过的代码。

String url = "http://www.flipkart.com/moto-g-3rd-generation/p/itme9ysjr7mfry3n?pid=MOBE6KK93JG5WKB2&cmpid=content_mobile_8965229628_gmc_pla&tgi=sem%2C1%2CG%2C11214002%2Cg%2Csearch%2C%2C50314733420%2C1o1%2C%2C%2Cc%2C%2C%2C%2C%2C%2C%2C&gclid=COXtgdLyiMoCFUyhaAodIawO8w";   

Document doc = Jsoup.connect(url).get();

Elements imageElements = doc.select("img[class=productImage]");

String img = imageElements.attr("src");

System.out.println(img);

以下是该网站的HTML代码。 screenshot of html code

1 个答案:

答案 0 :(得分:1)

编辑:这有效。

String url = "http://www.flipkart.com/moto-g-3rd-generation/p/itme9ysjr7mfry3n?pid=MOBE6KK93JG5WKB2&cmpid=content_mobile_8965229628_gmc_pla&tgi=sem%2C1%2CG%2C11214002%2Cg%2Csearch%2C%2C50314733420%2C1o1%2C%2C%2Cc%2C%2C%2C%2C%2C%2C%2C&gclid=COXtgdLyiMoCFUyhaAodIawO8w";   

        Document doc;
        try {
            doc = Jsoup.connect(url).get();
            Elements imageElements = doc.select("img.productImage");

            for(Element e : imageElements){
                System.out.println(e.attr("data-src"));
            }

        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();

的变化:

  1. 您使用[class =可以使用.productImage缩短

  2. 你没有试一试(相对不重要)

  3. 您尝试获取所有元素的attr。你应该使用一个循环。

  4. 编辑: 好。我发现了关于图像奇怪的src的问题。看起来Javascript在页面呈现后修改了“src”属性。真正的src是“data-src”值,后来被javascript删除。很奇怪,是吗?