0

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

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

谢谢亚历克斯

 

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

4

2 回答 2

1

这是我对我的问题的回答。

元素元素 = doc.getElementsByClass("content clearfix");

我添加了错误的课程。我应该只放“内容”。

元素元素 = doc.getElementsByClass("content");

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

于 2013-09-22T19:18:52.793 回答
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 扩展进行同样的操作。

于 2013-09-22T16:43:44.370 回答