簡體   English   中英

當 web 用 Jsoup 抓取時轉到下一頁

[英]Going to next page when web scraping with Jsoup

我正在嘗試用 Jsoup 刮掉這個https://www.actksa.com/ar/training-courses/training-in/Jeddah我寫的代碼只需要第一頁上的主題。

try {
                String url = "https://www.actksa.com/ar/training-courses/training-in/Jeddah";

                Document doc = Jsoup.connect(url).get();

                Elements data = doc.select("tr");
                int size = data.size();
                Log.d("doc", "doc: "+doc);
                Log.d("data", "data: "+data);
                Log.d("size", ""+size);
                for (int i = 0; i < size; i++) {

                    String title = data.select("td.wp-60")
                            .eq(i)
                            .text();

                    String detailUrl = data.select("td.wp-60")
                            .select("a")
                            .eq(i)
                            .attr("href");
                    parseItems.add(new ParseItem(title, detailUrl));
                    Log.d("items"," . title: " + title);

如何繼續從下一頁中抓取主題? 我注意到我可能可以使用分頁,但我不確定如何使用。 其次,當轉到下一頁時,鏈接會略有變化,所以我可以使用它。 go 到下一頁的代碼是什么並繼續抓取標題?

該站點的分頁似乎由?page=<int>查詢參數控制。 只需將現有代碼包裝在一個控制當前頁面的for循環中。

int numPages = 5; // the number of pages to scrape
for (int i = 0; i < numPages; i++) {
    String url = "https://www.actksa.com/ar/training-courses/training-in/Jeddah?page=" + i;

    Document doc = Jsoup.connect(url).get();

    Elements data = doc.select("tr");
    int size = data.size();
    Log.d("doc", "doc: "+doc);
    Log.d("data", "data: "+data);
    Log.d("size", ""+size);
    for (int j = 0; j < size; j++) {
         String title = data.select("td.wp-60")
                .eq(j)
                .text();
         String detailUrl = data.select("td.wp-60")
                .select("a")
                .eq(j)
                .attr("href");
        parseItems.add(new ParseItem(title, detailUrl));
        Log.d("items"," . title: " + title);
    }
}

如果您想在不硬編碼數字的情況下獲取所有頁面,則將遞增放在一個 while 循環中,當頁面上的表格沒有內容時,該循環將中斷。 例如https://www.actksa.com/ar/training-courses/training-in/jeddah?page=6不是有效頁面,僅顯示一個帶有空表的頁面。

暫無
暫無

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

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