如何使用JSOUP从JavaScript检索链接



我正在构建 scraper 应用程序,我需要从网站获取图像。问题在于,当我获取页面时,我将获得默认图像(在页面最终加载之前出现的图像(。在加载结束时,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);
    }}}

update [这是网站的链接] [1]

[1]:

我只需要手机的图像链接

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

这是因为您实际想要的图像以后加载了,并通过JavaScript添加到DOM,因为JSOUP是HTML解析器,因此无法以与浏览器相同的方式工作,并且对新加载的图像。

有一些方法,您可以在将图像添加到DOM后检索图像,但是它需要其他第三方库,例如Phantomjs或Ghost驱动程序,并且需要等待DOM才能完成所有资产来自JavaScript和jQuery。

这是一个可能有帮助的类似问题。

最新更新