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

时间:2017-02-05 06:18:30

标签: java web-scraping jsoup

我正在尝试使用jsoup获取该帖子的Instagram img但是没有得到任何结果。请帮忙!

我想从这篇文章中删除的img标签有id = pImage_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 个答案:

答案 0 :(得分:0)

该网页https://www.instagram.com/p/BQGyI2JjKUN/是Javascript呈现的,因此当您发出http请求并尝试抓取该网站时,您获得的全部内容都是javascript,这就是为什么当您尝试sysout {时{1}}因为它什么也没找到。如果你查看image.attr,那就是你要抓的全部。您抓取这些图片的唯一方法是通过创建机器人或使用instagram's API伪造网页浏览会话。

您可以google view-source:https://www.instagram.com/p/BQGyI2JjKUN/并找到一些有用的内容。这里有一些有用的东西也可以实现

答案 1 :(得分:0)

该网站使用AJAX调用来加载他们的数据。

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

您有2个选项。

1)检查所有AJAX调用/ URL及其参数,并向这些URL发送请求 2)或使用Selenium或PhantomJS。