使用jsoup和android从网站上删除链接
我正在尝试做一个应用程序,将从一个网站的景观链接。作为一个起点,我只想把它们作为一个系统消息。当我运行程序时,我根本看不到任何消息。怎么了?请帮忙使用jsoup和android从网站上删除链接,android,jsoup,screen-scraping,Android,Jsoup,Screen Scraping,我正在尝试做一个应用程序,将从一个网站的景观链接。作为一个起点,我只想把它们作为一个系统消息。当我运行程序时,我根本看不到任何消息。怎么了?请帮忙 import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; import android.app.Activity; import java.io.*; pu
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import android.app.Activity;
import java.io.*;
public class HTMLLinkExtractor extends Activity {
public static void main() {
scrapeLink();
}
public static void scrapeLink(){
File input = new File("/tmp/input.html");
Document doc = null;
try {
doc = Jsoup.parse(input, "UTF-8", "http://www.homedepot.com");
Elements link = doc.select("a[href]");
String stringLink = null;
for(int i=0; i<link.size(); i++){
stringLink = link.toString();
System.out.println(stringLink);
}
System.out.println(link);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Element links = doc.select("a[href]").first();
System.out.println(links);
}
}
import org.jsoup.jsoup;
导入org.jsoup.nodes.Document;
导入org.jsoup.nodes.Element;
导入org.jsoup.select.Elements;
导入android.app.Activity;
导入java.io.*;
公共类HTMLLinkExtractor扩展活动{
公共静态void main(){
刮链();
}
公共静态链接(){
文件输入=新文件(“/tmp/input.html”);
单据单据=空;
试一试{
doc=Jsoup.parse(输入,“UTF-8”http://www.homedepot.com");
Elements link=doc.select(“a[href]”);
字符串stringLink=null;
对于(int i=0;i由于您没有实际包含html数据的input.html
(baseUri用于解析该html中的相对链接),您可以修改代码以直接连接到网站并直接获取数据:
试试看
publicstaticvoidmain(字符串…参数){
刮链();
}
公共静态链接(){
//文件输入=新文件(“/tmp/input.html”);
单据单据=空;
试一试{
doc=Jsoup.connect(“http://www.homedepot.com).get();
Elements link=doc.select(“a[href]”);
字符串stringLink=null;
对于(int i=0;i
产出
<a href="http://www.homedepot.ca/?eid=us-language-selection-en&utm_source=us-language-selection-en"><font color="#ED8A3D"><b>English</b></font></a>
<a href="http://www.homedepot.ca/accueil?eid=us-language-selection-fr&utm_source=us-language-selection-fr"><font color="#ED8A3D"><b>Francais</b></font></a>
...
...
注意,我将主程序作为Java应用程序运行,您可以将其更改为在ADT中运行。android异步任务的答案
class scrapeLinks extends AsyncTask<Void,Void,Void> {
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(MainActivity.this);
pDialog.setMessage("getting links");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
}
@Override
protected Void doInBackground(Void... params) {
Document doc = null;
try {
doc = Jsoup.connect("http://www.homedepot.com").get();
Elements link = doc.select("a[href]");
String stringLink = null;
for (int i = 0; i < link.size(); i++) {
stringLink = link.toString();
System.out.println(stringLink);
}
System.out.println(link);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Element links = doc.select("a[href]").first();
System.out.println(links);
return null;
}
}
protected void onPostExecute(Void...params){
pDialog.dismiss();
}
}
类任务{
@凌驾
受保护的void onPreExecute(){
super.onPreExecute();
pDialog=新建进度对话框(MainActivity.this);
setMessage(“获取链接”);
pDialog.setUndeterminate(假);
pDialog.setCancelable(真);
pDialog.show();
}
@凌驾
受保护的Void doInBackground(Void…参数){
单据单据=空;
试一试{
doc=Jsoup.connect(“http://www.homedepot.com).get();
Elements link=doc.select(“a[href]”);
字符串stringLink=null;
对于(int i=0;i
your input.html包含什么内容?我没有在jsoup网站上找到的代码中的一部分是它创建的文件。如果是这种情况,您可以直接连接到url,回答如下此操作在严格模式下进行谢谢我将发布如何使用adt完成
class scrapeLinks extends AsyncTask<Void,Void,Void> {
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(MainActivity.this);
pDialog.setMessage("getting links");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
}
@Override
protected Void doInBackground(Void... params) {
Document doc = null;
try {
doc = Jsoup.connect("http://www.homedepot.com").get();
Elements link = doc.select("a[href]");
String stringLink = null;
for (int i = 0; i < link.size(); i++) {
stringLink = link.toString();
System.out.println(stringLink);
}
System.out.println(link);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Element links = doc.select("a[href]").first();
System.out.println(links);
return null;
}
}
protected void onPostExecute(Void...params){
pDialog.dismiss();
}
}