在URL中存在分页时,如何导航到其他页面



我有一个URL(http://myurl.com),我正在阅读网页的内容。一个问题是我只能读取Page1内容。使用jsoup api时,当读取了分页页的页面2 url时,它仍在打印时显示页面1的内容而不是显示page2 content,但是当浏览器在浏览器中打开Page2 url时,它正在显示内容。网络浏览器中的第2页。关于分页发生时如何读取其他页面内容的任何建议?

原始URL:

http://myURL.com/myDocs/forms/AllItems.aspx?RootFolder=%2fsites%2docs3%2fmiscc%20Documents%2fstatus%20yearly%2f2017&FolderCTID=0x012906D46689EQWEPKA

of Page2 :(单击下一个按钮以查看分页页的第2页):

http://myURL.com/myDocs/forms/AllItems.aspx?RootFolder=%2fsites%2docs3%2fmiscc%20Documents%2fstatus%20yearly%2f2017&FolderCTID=0x012906D46689EQWEPKA #InplviewHash038662ba-180e-41fc-8ad6-8b9805aa1b8b=Paged%3DTRUE-p_SortBehavior%3D0-p_FileLeafRef%3DGM%255fSW%2520TEAM%255fProgram%255fStatus%255f20170821%255fvFNAL%252epdf-p_ID%3D85-PageFirstRow%3D31-RootFolder%3D%252fsites%252fijjhhj3%252fyeal%2520Documents%252fstatus%2520Report%252f2017

Java代码:

 public class Tester {
        private static final String page1URL = "http://myURL.com/myDocs/forms/AllItems.aspx?RootFolder=%2fsites%2docs3%2fmiscc%20Documents%2fstatus%20yearly%2f2017&FolderCTID=0x012906D46689EQWEPKA";
    private String final String page2URL= "http://myURL.com/myDocs/forms/AllItems.aspx?RootFolder=%2fsites%2docs3%2fmiscc%20Documents%2fstatus%20yearly%2f2017&FolderCTID=0x012906D46689EQWEPKA#InplviewHash038662ba-180e-41fc-8ad6-8b9805aa1b8b=Paged%3DTRUE-p_SortBehavior%3D0-p_FileLeafRef%3DGM%255fSW%2520TEAM%255fProgram%255fStatus%255f20170821%255fvFNAL%252epdf-p_ID%3D85-PageFirstRow%3D31-RootFolder%3D%252fsites%252fijjhhj3%252fyeal%2520Documents%252fstatus%2520Report%252f2017";
      public static void main(String[] args) throws IOException {
            org.jsoup.nodes.Document doc = Jsoup.connect(page1URL).get();
            System.out.println(doc);
    }  }

在上面的代码中,当我通过Page2url时,它仅显示Page1的内容,但是在浏览器中打开时,它将显示Page2内容。是因为Page2url在第1页(分页)中单击Next按钮时发生URL?

ps:page2url与page1url相同,但带有额外的附录(#inplviewhash03 ....),请比较两个URL以了解差异。

我建议阅读URL中#的含义。它最初是在页面内的锚点,以便浏览器可以立即跳到该元素的显示。如今,它用于AJAX,因为可以通过JavaScript读取参数。参考请参见URL中#的含义是什么?我该如何使用?

这意味着您的网站包含JavaScript,该JavaScript通过JavaScript获取原始内容后,加载了第2页的内容。正如我以前在您删除的问题中对您解释的那样,JSOUP不会运行JavaScript,因此您仍然需要确定Ajax调用并获取该调用的真实参数。当您拥有此功能时,您可以访问第2页的内容。

最新更新