Jsoup - 缺少内容

时间:2014-02-10 16:44:44

标签: android parsing jsoup

我正在使用JSoup

执行以下代码
Document parse = Jsoup.connect("http://www.google.com/movies?near=<MyCity>&sort=1&start=0")
                       .followRedirects(true)
                       .ignoreContentType(true)
                       .timeout(12000)
                       .userAgent("Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0")
                       .referrer("http://www.google.com")
                       .execute()
                       .parse();
Elements elements = parse.select(".movie_results .movie");

但是当我检查elements时,它显然错过了很多内容。我正试图从上面的页面获取电影标题和描述。

我错过了什么?这可能与缺少标题参数,cookie有关吗? 还有其他lib可以解决这个问题吗?

我通过执行:

来重现同样的问题
curl http://www.google.com/movies?near=<MyCity>&sort=1&start=0 > page.html

普罗蒂普

只需突出显示其中一条评论:try.jsoup.org是开始使用Jsoup的好地方。它可以帮助您以非常干净的方式解析html。

如果您喜欢这个提示并且保存了您的一天,请+1:D

1 个答案:

答案 0 :(得分:0)

在使用谷歌Chrome开发工具进行一些调查后,我发现有些标题信息丢失了。最终的代码与此类似:

Jsoup.connect(url)
  .followRedirects(true)
  .ignoreContentType(true)
  .timeout(12000) // optional
  .header("Accept-Language", "pt-BR,pt;q=0.8") // missing
  .header("Accept-Encoding", "gzip,deflate,sdch") // missing
  .userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 Safari/537.36") // missing
  .referrer("http://www.google.com") // optional
  .execute()
  .parse(); 

感谢您的回答!