从 Android 中的网页获取字符串
Getting string from webpage in Android
是否可以从 Android 中的网页获取字符串?我可以看到几种获取所有 html 内容的方法,但是有没有办法只获取一个元素?
提前致谢。
通过从 onCreateView 方法执行此操作,用 jsoup 解决了:
private class Take extends AsyncTask<Void, Void, Void> {
String desc;
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected Void doInBackground(Void... params) {
try {
Document document = Jsoup.connect(url).get();
Element link = document.select("h2").first();
String text = document.body().text();
String linkText = link.text();
Log.d(linkText, linkText);
Log.d(text, text);
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void result) {
}
}
是的,您可能必须使用名为 jsoup 的库,请在此处阅读更多相关信息 http://jsoup.org/
这是一个例子
File input = new File("/tmp/input.html");
Document doc = Jsoup.parse(input, "UTF-8", "http://example.com/");
Element content = doc.getElementById("content");
Elements links = content.getElementsByTag("a");
for (Element link : links) {
String linkHref = link.attr("href");
String linkText = link.text();
}
是否可以从 Android 中的网页获取字符串?我可以看到几种获取所有 html 内容的方法,但是有没有办法只获取一个元素? 提前致谢。
通过从 onCreateView 方法执行此操作,用 jsoup 解决了:
private class Take extends AsyncTask<Void, Void, Void> {
String desc;
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected Void doInBackground(Void... params) {
try {
Document document = Jsoup.connect(url).get();
Element link = document.select("h2").first();
String text = document.body().text();
String linkText = link.text();
Log.d(linkText, linkText);
Log.d(text, text);
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void result) {
}
}
是的,您可能必须使用名为 jsoup 的库,请在此处阅读更多相关信息 http://jsoup.org/
这是一个例子
File input = new File("/tmp/input.html");
Document doc = Jsoup.parse(input, "UTF-8", "http://example.com/");
Element content = doc.getElementById("content");
Elements links = content.getElementsByTag("a");
for (Element link : links) {
String linkHref = link.attr("href");
String linkText = link.text();
}