我正在使用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
答案 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();
感谢您的回答!