Android jsoup没有获得完整的HTML文档

时间:2013-09-21 02:40:37

标签: android jsoup

我使用Jsoup获取外部html文档,但Jsoup只获得了html documnet的一半。这是我的http://www.myanmarinternetjournal.com/content/8287

我可以知道需要添加什么标题吗?

谢谢Alex

 

protected String doInBackground(String... urls) { try { String data = ""; Document doc = null; doc = Jsoup.connect(urls[0]) .header("Accept-Encoding", "gzip, deflate") .header("Content-Type", "application/x-javascript; charset=utf-8") .userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0") .get(); Log.e("RssDetailsActivity", doc.toString()); Elements elements = doc.getElementsByClass("content clearfix"); for(Element element : elements) { data += element.outerHtml(); data += "<br/>"; } return data; } catch (Exception e) { Log.e("RssDetailsActivity", e.getMessage()); } return null; }

2 个答案:

答案 0 :(得分:1)

以下是我对问题的回答。

Elements elements = doc.getElementsByClass(“content clearfix”);

我正在添加错误的类。我只应该把“内容”。

Elements elements = doc.getElementsByClass(“content”);

之后我得到了div部分。我只是意识到调试模式下的doc值在eclipse中被切断了。

答案 1 :(得分:0)

如果您使用的是chrome,请右键单击并选择“Inspect element”。将有一个名为“网络”的标签。寻找能够为您提供html内容的正确电话。单击后,您应该能够看到请求标头和响应标头。以下是Request标题的片段

GET /content/8287 HTTP/1.1
Host: www.myanmarinternetjournal.com
Connection: keep-alive
Cache-Control: no-cache
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Pragma: no-cache
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.76 Safari/537.36
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Cookie: has_js=1; __qca=P0-306326763-1379867776215; __utma=26494267.256134586.1379867776.1379867776.1379867776.1; __utmb=26494267.1.10.1379867776; __utmc=26494267; __utmz=26494267.1379867776.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utma=168333117.107878997.1379867784.1379867784.1379867784.1; __utmb=168333117.1.10.1379867784; __utmc=168333117; __utmz=168333117.1379867784.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); _pk_id.6.0010=447ba0a1b9e46537.1379867784.1.1379867784.1379867784.; _pk_ses.6.0010=*; __unam=688c865-14146878987-1b969d4c-1

使用此填充更多标头参数到jsoup.connect()调用。 你可以在firefox上使用firebug扩展名做同样的事情。