为什么我的JSoup请求返回一个空文档?

时间:2018-02-13 19:23:42

标签: java web-scraping jsoup screen-scraping user-agent

我想抓一个网站的内容,但它似乎不起作用:

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

        String url = "https://www.rl-trades.com";
        Document doc = Jsoup.connect(url).userAgent("Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36").get();
        System.out.println(doc);
    }

我得到的就是这个:

<html>
 <head></head>
 <body></body>
</html>

问题似乎是网站,因为在这里用不同的网站提出的每个类似问题都证明对我有用。我也试过这个更高级的版本,但我得到了完全相同的结果:

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

        String url = "https://www.rl-trades.com";
        Response response= Jsoup.connect(url)
                .ignoreContentType(true)
                .userAgent("Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0")  
                .referrer("http://www.google.com")   
                .timeout(12000) 
                .followRedirects(true)
                .execute();

        Document doc = response.parse();

        System.out.println(doc);
    }

有没有办法继续获取内容?或者,网站上是否只有一个没有解决方法的抓取保护?

提前致谢!

1 个答案:

答案 0 :(得分:0)

看起来这个网站喜欢Accept-Language标题:

String url = "https://www.rl-trades.com";
Connection connection = Jsoup.connect(url);
connection.header("Accept-Language","en");
Document doc = connection.get();
System.out.println(doc);