2013-02-08 100 views
3

我已經使用jsoup構建了一個自定義爬網程序。我可以從特定的列表頁面中刪除所有數據。但對於有分頁的頁面,我如何從分頁元素獲取鏈接。就像任何在亞馬遜,易趣等存在的零售目錄一樣,我將產品列表的第一頁的URL傳遞給jsoup。它工作正常。但是,我如何自動化獲取剩餘頁面鏈接的過程。使用自定義爬蟲訪問所有分頁頁面

我知道我可以通過硬編碼分頁的類來獲得元素。但我正在尋找一種通用的方式來做到這一點。

+0

什麼用分頁意思? – 2014-08-10 15:16:34

回答

0

如果網站標註的分頁鏈接與rel="next",你可以按照這些鏈接以獲取進一步的頁面。

除此之外,沒有什麼在它指定分頁頁面之間的關係的HTML本身。您必須使用啓發式(例如,包含「next」的文本的鏈接或帶有遞增數字(1,2,3 ... last)的鏈接序列)。很顯然,這些啓發式不會爲每個站點工作,當一個網站的設計更新可能會停止工作。

1
for (int i = 1; i < 10; i++) { 
     String url = "http://exampleurl.com/index.php?page=" + i; 
     Document doc = Jsoup.connect(url).get(); 
    } 

希望這會帶來一些亮點。該代碼將循環瀏覽網頁中的十個頁面並進行分頁。