繁体   English   中英

使用jsoup解析网站数据

[英]Parse data from website using jsoup

我正在创建一个Android应用,该应用从www.zamboangatoday.ph收集数据,获取所有新闻标题或标题。 但我只能检索一项,有人可以检查我的代码。

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);



            try{

                outputTextView = (TextView)findViewById(R.id.textView1);
                //Document doc = Jsoup.parse(html,"http://www.zamboangatoday.ph");
                Document doc = Jsoup.connect("http://www.zamboangatoday.ph/").get();
                //Elements tag = doc.select(".even h4 a");

                Iterator<Element> iter = doc.select("li.even h4 a").iterator();
                //List<Image> images = new ArrayList<Image>();
                while(iter.hasNext())
                {
                    Element element = iter.next();

                    outputTextView.setText(element.text());

                }

            }catch(Exception e)
            {
                e.printStackTrace();
            }




    }

不知道什么组件outputTextView是,但是使用以下代码:

outputTextView.setText(element.text());

您将设置文本,并在每次迭代时将其覆盖 因此,在循环之后,只有最后一个元素文本。 如果可能,请使用诸如outputTextView.append(element.text());类的东西outputTextView.append(element.text()); -否则使用StringBuilder并在循环后设置文本。


outputTextView = (TextView)findViewById(R.id.textView1);
//Document doc = Jsoup.parse(html,"http://www.zamboangatoday.ph");
Document doc = Jsoup.connect("http://www.zamboangatoday.ph/").get();
//Elements tag = doc.select(".even h4 a");

Iterator<Element> iter = doc.select("li.even h4 a").iterator();
//List<Image> images = new ArrayList<Image>();
while(iter.hasNext())
{
    Element element = iter.next();

    /*
     * Append the text - don't overwrite it
     * Node: Maybe you have to add a new line ('\n').
     */
    outputTextView.append(element.text()); 

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM