Android爬虫详细代码加具体解释如下:
package com.example.pachong;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
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 {
Handler handler;
TextView textView;
private void clic(){
//使用handler进行更新视图
handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
Bundle bundle = msg.getData();//将msg转换为数据类型
String color = bundle.getString("color");//msg可能有多个,这是为了获取特定关键词所对应的数据
textView.setText(color);//赋值
}
};
findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new Thread(new Runnable() {
@Override
public void run() {
Document doc = null;
try {
doc = Jsoup.connect("https://www.baidu.com/").get();
} catch (IOException e) {
e.printStackTrace();
}
Message msg = new Message();
Bundle bundle = new Bundle();
bundle.putString("color", doc.html());//爬取网页,并将网页数据赋值给bundle
msg.setData(bundle);//将数据赋值给msg,以便后续处理数据
handler.sendMessage(msg);//将msg传递handler来处理
}
}).start();
}
});
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView=findViewById(R.id.text);
clic();
}}