一个Android应用程序中的两个jsoup scraper不';行不通
我正在开发一个简单的安卓应用程序,它必须抓取一个网站的内容,然后将其添加到另一个我必须抓取的网站的URL中。第一个抓取是可以的,但是第二个给了我一个错误:“HTTP错误抓取URL”。第二个URL很好,因为当我将它提供给第一个刮板时,一切都正常(但URL正在更改,因此我不能将其用作约束)。我想我必须以某种方式完成第一个刮刀的线程,但我不知道如何完成。 我当前的代码:一个Android应用程序中的两个jsoup scraper不';行不通,android,web-scraping,jsoup,Android,Web Scraping,Jsoup,我正在开发一个简单的安卓应用程序,它必须抓取一个网站的内容,然后将其添加到另一个我必须抓取的网站的URL中。第一个抓取是可以的,但是第二个给了我一个错误:“HTTP错误抓取URL”。第二个URL很好,因为当我将它提供给第一个刮板时,一切都正常(但URL正在更改,因此我不能将其用作约束)。我想我必须以某种方式完成第一个刮刀的线程,但我不知道如何完成。 我当前的代码: private void getBodyText() { new Thread(new Runnable() {
private void getBodyText() {
new Thread(new Runnable() {
@Override
public void run() {
final StringBuilder builder = new StringBuilder();
try {
String url="http://example.com";
Document doc = Jsoup.connect(url).get();
Element body = doc.body();
builder.append(body.text());
} catch (Exception e) {
builder.append("Error : ").append(e.getMessage()).append("\n");
}
runOnUiThread(new Runnable() {
@Override
public void run() {
textView.setText(builder.toString());
token1=builder.toString();
checkPairing();
}
});
}
}).start();
}
private void checkPairing() {
new Thread(new Runnable() {
@Override
public void run() {
final StringBuilder builder = new StringBuilder();
try {
String url="http:example.com/"+token1;
Document doc = Jsoup.connect(url).get();
Element body = doc.body();
builder.append(body.text());
} catch (Exception e) {
builder.append("Error : ").append(e.getMessage()).append("\n");
}
runOnUiThread(new Runnable() {
@Override
public void run() {
if (builder.toString()!="Not Found") {
tokenPar = builder.toString();
}
}
});
}
}).start();
}
我还尝试在执行第一个scraper之后直接从onCreate()执行第二个函数,但没有任何更改。
我认为我必须以某种方式完成第一个scraper的线程,
您已经在这样做了。但如果出现异常,也可以调用checkPairing。