【发布时间】:2012-05-17 16:56:59
【问题描述】:
我
标签: java web-scraping jsoup
我
标签: java web-scraping jsoup
您需要使用 cookie 重新发送请求。该站点正在返回一个它希望在下一个请求中看到的会话 cookie。
String url = "http://www.kabum.com.br/cgi-local/kabum3/produtos/descricao.cgi?id=01:02:23:55:159";
Map<String, String> cookies = Jsoup.connect(url).execute().cookies();
Document document = Jsoup.connect(url).cookies(cookies).get();
System.out.println(document.html());
请注意,您应该对要在同一会话中触发的每个后续请求使用相同的 cookie。
【讨论】:
非常有趣。
是的,下面这行:<meta http-equiv="refresh" content="0;url=kabum.com.br/cgi-local/kabum3/produtos/…; /> 告诉浏览器刷新当前 url。
所以看起来页面告诉浏览器不断刷新页面,直到服务器满足它正在寻找的任何条件。
您必须弄清楚服务器正在寻找什么标准。首先要检查的可能是 (1) jsoup 设置的重定向限制(如果它具有“跟随重定向”功能并且可以理解 meta 标记),以及 (2) cookie。
【讨论】: