Java 使用Jsoup进行web抓取时转到下一页

Java 使用Jsoup进行web抓取时转到下一页,java,android-studio,web-scraping,jsoup,html-parsing,Java,Android Studio,Web Scraping,Jsoup,Html Parsing,我试图用Jsoup来解决这个问题,我写的代码只涉及第一页的主题 try { String url = "https://www.actksa.com/ar/training-courses/training-in/Jeddah"; Document doc = Jsoup.connect(url).get(); Elements data = doc.select("

我试图用Jsoup来解决这个问题,我写的代码只涉及第一页的主题

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);
试试看{
字符串url=”https://www.actksa.com/ar/training-courses/training-in/Jeddah";
Document doc=Jsoup.connect(url.get();
元素数据=文件选择(“tr”);
int size=data.size();
日志d(“文件”,“文件:”+doc);
Log.d(“数据”,“数据:”+数据);
Log.d(“尺寸”,“尺寸+尺寸”);
对于(int i=0;i
如何继续从下一页中删除主题?
我注意到我可能可以使用分页,但我不确定如何使用。其次,当转到下一页时,链接会发生轻微变化,因此我可以使用它。转到下一页并继续抓取标题的代码是什么?

该站点的分页似乎由
?page=
查询参数控制。 只需将现有代码包装在控制当前页面的
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);
    }
}
int numPages=5;//要刮取的页数
对于(int i=0;i
如果希望在不硬编码数字的情况下获取所有页面,则将递增放入while循环,当页面上的表没有内容时,该循环将中断。例如
https://www.actksa.com/ar/training-courses/training-in/jeddah?page=6
不是有效页面,只显示一个带有空表的页面