当前位置: 首页 > 知识库问答 >
问题:

使用Jsoup从表中提取数据

晏修诚
2023-03-14

当我试图从在线URL=forexalgerie.com中的表中获取数据时,我的目标是这些值:

...似乎我的代码一切正常:

package marchenoiredinar.qiuworks.com.blackoumla;

import android.app.ProgressDialog;
import android.os.AsyncTask;
import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

import java.io.IOException;

public class MainActivity extends AppCompatActivity {

Button button;
TextView textView;

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

    button = (Button) findViewById(R.id.button);
    textView = (TextView) findViewById(R.id.textView);

    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            new doIt().execute();
        }
    });

}

public class doIt extends AsyncTask<Void, Void, Void> {

    String euroSell ="";
    ProgressDialog mProgressDialog;

    @Override
    protected Void doInBackground(Void... params) {

        try {
            Document doc =     Jsoup.connect("http://www.forexalgerie.com").get();
            Elements els = doc.getElementsByClass("listEvenRow");
            for (Element el : els) {
                euroSell =  euroSell + " " + el;
            }

        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }

    @Override
    protected void onPostExecute(Void aVoid) {
        super.onPostExecute(aVoid);
        textView.setText(euroSell);
        mProgressDialog.dismiss();
    }

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        mProgressDialog = new ProgressDialog(MainActivity.this);
        mProgressDialog.setTitle("Android Jsoup ListView Tutorial");
        mProgressDialog.setMessage("Loading...");
        mProgressDialog.setIndeterminate(false);
        mProgressDialog.show();
    }
}
}

但是结果包含表中的所有内容,除了我想要的值?

怎么了?

共有1个答案

慕容俭
2023-03-14

尝试euroSell=euroSell”el.id()而不是euroSell=euroSell”el

try {
    Document doc = Jsoup.connect("http://www.forexalgerie.com").get();
    Elements els = doc.getElementsByClass("listEvenRow");
    for (Element el : els) {
        euroSell =  euroSell + " " + el.id();
    }
} catch (IOException e) {
    e.printStackTrace();
}
 类似资料:
  • 问题内容: 我想使用JSoup-framework提取此表,以将内容保存在“表”数组中。第一个tr-tag是表头。所有以下内容(不包括在内)均描述了内容。 我已经测试了这一个和其他一些,但是我没有让它们为我工作: 使用JSoup提取HTML表内容 问题答案: 这是一些示例代码,您如何仅选择标题: 你得到… 解析 文件 :(这里是和字符集,请参阅jsoup对铁道部的相关信息文件) 解析 网站 :(不

  • 我有一个带有ID、TEXT等列的表,这里的TEXT是超文本标记语言FORMAT中包含数据的Clob列 样本数据: 当我使用Jsoup.parse(AUDIT_SCOPE_LOB.text()时;我得到的数据如下 我对java知之甚少。我可以使用jsoup获取java代码来提取数据并重新运行下面的outpu吗 实际上,这个数据是一个样本数据。我有一些带有html标记的数据,这里没有提到。

  • 我一直在研究用于数据提取的Jsoup示例,并提取了此链接的一个示例 J汤

  • 所以我尝试从pretag获取数据,我设置doc连接到url选择pretag,结果出错了,我需要获取的数据按这里

  • 需要从以下来源提取信息: 试过: 得到0个结果。问题只出在跨类上。JSOUP 1.7.2。

  • 你好,我需要我下面的代码的解决方案。我试图从跨度类中提取文本,但似乎所有的文本都在同一时间提取,这样我就可以一个接一个地提取文本。 JAVA代码 超文本标记语言输出 JAVA输出 独处的年龄令人惊叹的愤怒周年纪念建筑艺术态度美丽最好的生日聪明的商务车机会改变圣诞节通信计算机酷勇气爸爸约会死亡设计饮食梦想复活节教育环境平等经历失败信仰家庭著名的父亲节恐惧金融健身食物宽恕自由友谊有趣的未来园艺上帝好政