【问题标题】:Scraping HTML with JSoup, getting HTTP error, status 456使用 JSoup 抓取 HTML,出现 HTTP 错误,状态 456
【发布时间】:2013-09-17 06:08:04
【问题描述】:

我正在尝试使用 JSoup 抓取网站 (www.oddsportal.com),但遇到了问题。

String url = "http://www.oddsportal.com/matches/";      
Document doc = null;
System.out.println("Connecting to " + url + "...");
try {
    doc = Jsoup.connect(url).get();
} catch (IOException e1) {
    e1.printStackTrace();
}

当我连接并执行“获取”时,我得到以下信息:

 Connecting to http://www.oddsportal.com/matches/...

       org.jsoup.HttpStatusException: HTTP error fetching URL. Status=456, 
       URL=http://www.oddsportal.com/matches/
            at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:435)
            at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:410)
            at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:164)
            at org.jsoup.helper.HttpConnection.get(HttpConnection.java:153)

可能是什么原因?似乎没有 HTTP 456 状态代码,所以我认为它是某种特定于站点的代码? 该站点有登录功能,但查看内容不是必需的。 我尝试过的其他网站运行良好。

【问题讨论】:

    标签: java web-scraping jsoup


    【解决方案1】:

    如果您包含user agent,它将起作用,来自documentation

    Document doc = Jsoup.connect("http://example.com").userAgent("Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0").get();
    

    【讨论】:

      猜你喜欢
      • 2017-05-20
      • 1970-01-01
      • 1970-01-01
      • 2019-11-14
      • 2014-09-06
      • 1970-01-01
      • 1970-01-01
      • 2016-09-04
      • 2014-11-23
      相关资源
      最近更新 更多