PDA

View Full Version : مشکل دریافت دیتا از سایت با jsoup



Jagool
جمعه 30 خرداد 1399, 17:03 عصر
سلام
دوستان من می خواستم یه برنامه بنویسم که از سایت tsetmc.com قیمت لحظه ای یه نماد رو دریافت کنه و توی برنامه نمایش بده
واسه این کار من از کتابخونه jsuop استفاده کردم
کدی که نوشتم به این شکل هستش:








package com.example.jsoupproject01;

import androidx.appcompat.app.AppCompatActivity;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.os.AsyncTask;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.TextView;
import android.widget.Toast;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Attribute;
import org.jsoup.nodes.Attributes;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.nodes.Node;
import org.jsoup.select.Elements;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class MainActivity extends Activity {

// URL Address
String url = "http://www.tsetmc.com/Loader.aspx?ParTree=151311&i=70934270174405743";
ProgressDialog mProgressDialog;
private String info;
private String info1;
TextView showTitle1;
static TextView text1;
int num1;
String name0;
String name1;
String name2;
String name3;

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
showTitle1 = (TextView) findViewById(R.id.text_id1);
text1 = (TextView) findViewById(R.id.text_id0);

new VerifyInfoSite().execute();
}

// Title AsyncTask
private class VerifyInfoSite extends AsyncTask<Void, Void, Void> {
String title;

protected void onPreExecute() {
super.onPreExecute();
//نشان دادن progressDialog
mProgressDialog = new ProgressDialog(MainActivity.this);
mProgressDialog.setTitle(" در حال دریافت اطلاعات");
mProgressDialog.setMessage("در حال بارگیری");
mProgressDialog.setIndeterminate(false);
mProgressDialog.show();
showTitle1.setText("start");
}


protected Void doInBackground(Void... params) {
try {
// اتصال به سایت با کلاس Jsoup
Document document = Jsoup.connect(url).get();

// حالت دوم اتصال به سایت با کلاس Jsoup
Document doc = Jsoup.parse("UTF-8",url);

// td.d03 آی دی قیمت هستش (توی عکس ضمیمه مشخصش کردم)
Elements a5 = document.select("td.d03");
name0=a5.text();
name1=a5.html();
name2= document.title();
num1=a5.size();


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


protected void onPostExecute(Void result) {
// نشان دادن اطلاعات در تکست ویو
TextView showTitle = (TextView) findViewById(R.id.text_id0);
Toast.makeText(getBaseContext() , name3 , Toast.LENGTH_LONG).show();
showTitle.setText(name0+"\n"+"\n"+"\n"+name1+"\n"+"\n"+"\n"+name2+"\n"+"\n"+"\n"+num1);
// پایان نمایش progressDialog
mProgressDialog.dismiss();
// پایان نمایش progressDialog
}
}
}









هر دو حالت jsoup.connect و jsoup.pars رو هم امتحان کردم اما جواب نگرفتم!
عکس از سایت رو ضمیمه کردم که بهتر متوجه بشید منظورم چی هستش
ممنوم میشک کمکم کنید