簡體   English   中英

如何使用JSoup導航頁面

[英]How to use JSoup to navigate pages

我正在研究一個解析html頁面並使用其元素的android應用,然后轉到下一頁並提取其元素。 我以前是用Selenium來做這項工作的,但是當我在Android上使用它時,它會占用過多的內存,並且應用程序停止響應。 現在,我被困在登錄頁面中,必須輸入用戶名和密碼。 我設法做到了,但無法轉到下一頁。 它會返回相同的登錄頁面,而不是下一個。 我真的需要用JSoup做到這一點,因為最終代碼必須與android應用程序代碼集成在一起。 請幫助!

 try {


        String url = "http://slateisb.nu.edu.pk/portal";
        Document doc = Jsoup.connect(url).
                followRedirects(true).
                data("eid", "i110013").
                data("pw", "001").
                method(Method.POST).get();
        String title = doc.title();
        print("Title : %s" , title);

    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}
import java.util.Map;

import org.jsoup.Connection;
import org.jsoup.Connection.Method;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

public class Main {

    public static void main(String[] args) {
        try {
            //In this url you must login
            String loginUrl = "http://slateisb.nu.edu.pk/portal/xlogin";

            //This is an example, it can be anything else
            String url = "http://slateisb.nu.edu.pk/portal";

            //First login. Take the cookies
            Connection.Response res = Jsoup
                    .connect(loginUrl)
                    .data("eid", "i110013")
                    .data("pw", "001")
                    .referrer("http://www.google.com")
                    .userAgent(
                            "Mozilla/5.0 (Windows; U; WindowsNT 5.1; en-US; rv1.8.1.6) Gecko/20070725 Firefox/2.0.0.6")
                    .method(Method.POST).timeout(0).execute();

            Map<String, String> loginCookies = res.cookies();

            //Now you can parse any page you want, as long as you pass the cookies
            Document doc = Jsoup
                    .connect(url)
                    .timeout(0)
                    .cookies(loginCookies)
                    .referrer("http://www.google.com")
                    .userAgent(
                            "Mozilla/5.0 (Windows; U; WindowsNT 5.1; en-US; rv1.8.1.6) Gecko/20070725 Firefox/2.0.0.6")
                    .get();

            System.out.println("Title : " + doc.title());

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM