【问题标题】:why does Jsoup selector div#id work in netbeans but not in eclipse ADT?为什么 Jsoup 选择器 div#id 在 netbeans 中有效,但在 eclipse ADT 中无效?
【发布时间】:2015-02-18 14:36:39
【问题描述】:

以下代码在 netbeans 中运行良好,但在 eclipse ADT 中,doc.select("div#tickertape_eng a").size() 返回 0。

try {
            Document doc = Jsoup.connect("http://bdnews24.com").get();
            if (doc != null) {
                Elements links = doc.select("div#tickertape_eng a");
                for (Element link : links) {
                    headlines.add(link.text());
                    headlinks.add(link.absUrl("href"));
                }

            } else {
                Toast.makeText(getActivity(), "Doc not found",
                        Toast.LENGTH_LONG).show();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

在 netbeans 中,我可以打印 link.text() 和 link.absUrl("href"),但不能在 eclipse 中。 Eclipse 在 logcat 中打印 doc.title() 很好,但是为什么 doc.select("div#tickertape_eng a") 不起作用?如何让它发挥作用?

【问题讨论】:

  • 您希望在a 标签和url 内添加文本?​​
  • 是的,div id="tickertape_eng"

标签: android eclipse netbeans jsoup adt


【解决方案1】:

试试这个:

Document doc = Jsoup.connect("http://bdnews24.com")
  .userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0")
  .get();

用户代理让服务器猜测您正在使用哪个浏览器。如果它检测到移动浏览器,它可以将您重定向到移动页面。因此,强制使用桌面浏览器用户代理是确保您获得位于 bdnews24.com 的标准页面的一种方法。

您可以在此处找到大多数可用的用户代理:http://www.useragentstring.com/pages/useragentstring.php

【讨论】:

  • 不,它会导致程序崩溃。它与浏览器有什么关系吗?我正在使用谷歌浏览器。
  • 它崩溃了?这很奇怪。不,我认为,当您使用 ADT 执行时,bdnews24.com 网站会将您重定向到移动页面 bdnews24.com/mobile,因此,您的解析在错误的页面上。所以我的提议基本上是为了获得正确的页面而作弊。
  • 成功了! .get() 部分丢失,这就是它不起作用的原因。非常感谢您指出重定向到移动网站。我为此工作了一整天。
【解决方案2】:

试试这个,

Document doc = Jsoup.connect("http://bdnews24.com").get();
Elements div = doc.select("div#tickertape_eng");

   Elements get = div.select("a[href]");

     for (Element elem : get) {

         System.out.println("Link : " +elem.attr("href"));
         System.out.println("Text  : " +elem.text());        
    }
}

打印

Link : http://bdnews24.com/politics/2015/02/18/euro-mps-will-continue-to-urge-bnp-to-sever-ties-with-jamaat-hifazat-says-junior-minister
Text  : Euro MPs will continue to urge BNP to sever ties with Jamaat, Hifazat, says junior minister
Link : http://bdnews24.com/bangladesh/2015/02/18/appellate-division-publishes-full-verdict-on-jamaat-leader-kamaruzzaman
Text  : Appellate Division has published full verdict on Jamaat leader Kamaruzzaman
Link : http://bdnews24.com/bangladesh/2015/02/18/jamaat-e-islami-leader-abdus-subhan-to-hang-for-war-time-atrocities-in-pabna
Text  : Jamaat-e-Islami leader Abdus Subhan to hang for war-time atrocities in Pabna
Link : http://bdnews24.com/bangladesh/2015/02/18/prosecution-happy-with-subhan-verdict-defence-says-will-appeal
Text  : Prosecution happy with Subhan verdict, defence says will appeal
Link : http://bdnews24.com/bangladesh/2015/02/18/un-chief-writes-to-hasina-khaleda-urges-for-talks
Text  : UN Secy-Gen Ban Ki-moon writes to Hasina, Khaleda, urges for talks

【讨论】:

    猜你喜欢
    • 2016-10-31
    • 2010-12-27
    • 1970-01-01
    • 2012-02-13
    • 2011-11-25
    • 2015-11-12
    • 2018-03-29
    • 2011-03-12
    • 2015-09-12
    相关资源
    最近更新 更多