【问题标题】:Java Jsoup no result from instagram.comJava Jsoup 没有来自 instagram.com 的结果
【发布时间】:2016-04-27 05:09:38
【问题描述】:

我尝试从网站上获取所有 div。如果我在 google.com 或其他网页上尝试它,它工作正常,只是 instagram 给出了一个空的结果。方法如下:

public static List<String> getPhotoPaths(String url) {
    List<String> paths = new ArrayList<>();

    try {
        Document doc = Jsoup.connect("https://www.instagram.com/explore/tags/test/")
                .userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.120 Safari/535.2")
                .get();


        for (Element element : doc.select("div")) {
            System.out.println(element);
        }

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

}

有人知道出了什么问题吗? This 是测试网站,它像其他页面一样使用普通的 div。还是不行?

【问题讨论】:

标签: java html web jsoup


【解决方案1】:

您不会得到任何结果,因为 Instragram 使用 Javascript 异步加载这些图片(如果您在浏览器中禁用它,您将无法再看到图片),因此在加载页面时它不可用。不幸的是JSoup不能处理Javascript,所以你应该使用另一个可以处理它的库或自己解析分配给window._sharedData变量的JSON对象,其中包含指向缩略图和原始图片的URL

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-11
    • 2020-02-06
    • 1970-01-01
    • 2018-03-22
    • 2021-12-02
    • 1970-01-01
    相关资源
    最近更新 更多