我在这里有一个奇怪的问题,我一直在使用 Jsoup 1.7.2 一段时间,没有问题,只是现在,当我试图从这个网站检索主要标题: www.jornaldamarinha.pt ,使用此代码:
// Connecting...
Document doc = Jsoup.connect("http://www.jornaldamarinha.pt")
.timeout(0)
.get();
// "*[class*=zincontent-wrap]" in "Jsoup idiom", means:
// Select all tags that contains classes with "zincontent-wrap" on its name.
Elements elems = doc.select("*[class*=zincontent-wrap]"); // Retrieves 0 results!
int t = elems.size();
Log.w("INFO", "Total Headlines: " + t);
// Loop trought all retrieved headlines:
for (Element e : elems) {
String headline = e.select("a").text().toString();
Log.w("HEADLINE", headline);
};
失败!...检索0结果。 (应检索〜8)
问题很可能是由以下原因引起的:
但是 ... http://try.jsoup.org如果我使用此CSS查询获取网址:http://www.jornaldamarinha.pt:
*[class*=zincontent-wrap]
一切都很好,那里! (检索所有~8个正确结果!)
SO ...要恢复,我所需要的只是完成该网页的功能,但使用代码。
感谢,提前,任何光明或解决方法,关于此! :)
答案 0 :(得分:2)
解决方案!... 毕竟,上面代码中的所有内容都正常工作,正如我所怀疑的那样,除了......那个CSS查询在Android的“默认用户代理”上中断了。我只是认为将“ userAgent ”设置为Jsoup的连接方法非常很重要!所以,我已经按照以下方式编辑了我的代码,并且......现在就像魅力一样! (与http://try.jsoup.org网页完全相同的结果)
Document doc = Jsoup.connect("http://www.jornaldamarinha.pt")
.userAgent("Mozilla/5.0 Gecko/20100101 Firefox/21.0")
.timeout(0)
.get();
希望这对其他人也有帮助! :)