有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java无法使用jsoup在html中获取图像src

我试图通过这个查询使用jsoup获取帖子的instagram img,但没有得到任何结果。请帮忙

我想从这篇文章中删除的img标签id=pImage\u 0

 doc = Jsoup.connect("https://www.instagram.com/p/BQGyI2JjKUN/").get();
        title = doc.title();  
        System.out.println("Title:"+title);
        Elements images = doc.select("img[src~=(?i)\\.(png|jpe?g|gif)]");
        for (Element image : images) {
            System.out.println("src : " + image.attr("src"));
            System.out.println("height : " + image.attr("height"));
            System.out.println("width : " + image.attr("width"));
            System.out.println("alt : " + image.attr("alt"));
        }

共 (2) 个答案

  1. # 1 楼答案

    该网站使用AJAX调用加载数据

    简单的请求根本不会执行JS

    你有两个选择

    1)检查所有AJAX调用/URL及其参数,并向这些URL发送请求 2) 或者使用硒或幻影

  2. # 2 楼答案

    该网页https://www.instagram.com/p/BQGyI2JjKUN/是Javascript呈现的,因此当您发出http请求并尝试刮取站点时,返回的都是Javascript,这就是为什么您在尝试sysoutimage.attr时什么也看不到的原因,因为它什么也找不到。如果您查看view-source:https://www.instagram.com/p/BQGyI2JjKUN/,那么您只需要刮一下就可以了。抓取这些图像的唯一方法是通过创建bot或使用instagram's API来伪造web浏览会话

    你可以通过谷歌java headless browser找到一些有用的东西。这里有一些有用的方法也可以做到这一点