Android的java Jsoup帮助如何从表中获取元素中的文本?
http://msu.esuds.net/RoomStatus/showRoomStatus.i?locationId=1016364
当我检查元素时,链接中的表提供了表名为table.room_status
但当我试图告诉您洗衣机/干衣机是否提供:
private void getWebsite(){
Log.d("getWebsite","runs");
new Thread(new Runnable() {
@Override
public void run() {
Log.d("run","runs");
final TextView textView = (TextView)findViewById(R.id.parseTest);
final StringBuilder builder = new StringBuilder();
try {
Document doc = Jsoup.connect("http://msu.esuds.net/RoomStatus/showRoomStatus.i?locationId=1028671").get();
for (Element table : doc.select("table.room_status")) {
Log.d("table","runs");
for (Element row : table.select("tr")) {
Log.d("row","runs");
Elements tds = row.select("td");
if (tds.size() == 6) {
Elements font = tds.get(4).getElementsByTag("font");
builder.append(font.first().text());
Log.d("font","runs");
}
}
}
} catch (IOException e){
builder.append("Error: ").append(e.getMessage()).append("\n");
}
runOnUiThread(new Runnable() {
@Override
public void run() {
textView.setText(builder.toString());
}
});
}
}).start();
}
我看到的唯一日志猫是Log.d("getWebsite", "runs)
和Log.d("run", "runs")
# 1 楼答案
打开浏览器的开发者工具,你会看到在加载站点时,在
GET
请求之后,你有一个POST
请求获取表。更改请求以获取该页面。将用户代理字符串添加到请求中也很有用: