如何使用Jsoup从JavaScript检索链接

时间:2018-02-10 19:14:35

标签: javascript java html jsoup

我正在构建一个诈骗应用程序,我需要从网站上获取图像。问题是,当我获取页面时,我得到默认图像(在页面加载之前出现的图像)。在加载结束时,Javascrip会显示真实图像而不是它(相同的HTML路径,但URL源不同)。

这是我的代码段

public class Scapper{


public static void main(String[] args) throws IOException {


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


for (Element img : doc.getElementsByClass("prdct-dtl__thmbnl-wrpr").select(".prdct-dtl__thmbnl").select("img[src]")){
        String url = img.absUrl("src");
        System.out.println("Founded"+url);
    }}}

更新 [这是指向该网站的链接] [1]

[1]:

我只需要手机的图片链接

1 个答案:

答案 0 :(得分:1)

感谢编辑问题。因此,在查看了您的问题和要解析的网站之后,您说正确的图像是通过Javascript加载的,并且Jsoup会返回占位符图像。

这是因为您实际想要的图像稍后会加载,并通过Javascript添加到DOM中,因为Jsoup是一个HTML解析器,它无法以与浏览器相同的方式工作,也不知道新加载的图像。

有很多方法,您可以在将图像添加到DOM后检索图像,但需要其他第三方库,例如phantomjsGhost Driver,并且需要等待DOM已完成从Javascript和JQuery加载其所有资产。

以下是similar question可能有所帮助。