Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
一个Android应用程序中的两个jsoup scraper不';行不通_Android_Web Scraping_Jsoup - Fatal编程技术网

一个Android应用程序中的两个jsoup scraper不';行不通

一个Android应用程序中的两个jsoup scraper不';行不通,android,web-scraping,jsoup,Android,Web Scraping,Jsoup,我正在开发一个简单的安卓应用程序,它必须抓取一个网站的内容,然后将其添加到另一个我必须抓取的网站的URL中。第一个抓取是可以的,但是第二个给了我一个错误:“HTTP错误抓取URL”。第二个URL很好,因为当我将它提供给第一个刮板时,一切都正常(但URL正在更改,因此我不能将其用作约束)。我想我必须以某种方式完成第一个刮刀的线程,但我不知道如何完成。 我当前的代码: private void getBodyText() { new Thread(new Runnable() {

我正在开发一个简单的安卓应用程序,它必须抓取一个网站的内容,然后将其添加到另一个我必须抓取的网站的URL中。第一个抓取是可以的,但是第二个给了我一个错误:“HTTP错误抓取URL”。第二个URL很好,因为当我将它提供给第一个刮板时,一切都正常(但URL正在更改,因此我不能将其用作约束)。我想我必须以某种方式完成第一个刮刀的线程,但我不知道如何完成。 我当前的代码:

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。