2013-09-21 58 views
0

我正在使用Jsoup獲取外部html文檔,但Jsoup只獲得html documnet的一半。這是我的http://www.myanmarinternetjournal.com/content/8287Android jsoup沒有得到完整的HTML文檔

我可以知道我需要添加哪個頭?

感謝亞歷克斯

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; }

回答

0

如果您使用的是Chrome,然後右擊並選擇 「檢查元素」。將會有一個名爲「網絡」的選項卡。尋找正確的電話,給你的HTML內容。一旦你點擊,你應該能夠看到請求頭和響應頭。下面是一個請求標題片段

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擴展來做同樣的事情。

1

這是我對我的問題的回答。

元素elements = doc.getElementsByClass(「content clearfix」);

我添加了錯誤的類。我只應該把「內容」。

元素elements = doc.getElementsByClass(「content」);

之後,我得到了div部分。我只是意識到調試模式下的doc值在eclipse中被截斷。