1. 程式人生 > >寫爬蟲時如何判斷頁數

寫爬蟲時如何判斷頁數

最近打算學點東西。

好像一直都打算學點東西,然後學了之後平時用不到,又全忘了。

做了一大堆筆記,也沒看過,大部分都不知道丟到哪去了。

這樣的一個狀態肯定不行,正趕上最近職業焦慮比較嚴重,肯定要再學點東西。不管是真的管用還是安慰下自己。所以大佬們不要看我寫的東西幼稚,然後噴我。對各位沒幫助,繞道即可,先在此謝謝大家。

我是這麼考慮的,再學習的話,就先學習平時用得到的,或者比較有意思的東西。

我是個黑盒測試,平時用的到得的東西一般來說還是經驗和積累,技術其次。所以打算先搞點有意思的東西,正好有點python基礎,感覺爬蟲還蠻有意思的,所以優先搞下。

我會在此記錄我學習的過程,先從簡單的慢慢來,寫出一個基礎的版本,然後在此版上迭代完善。

隨便瞎寫一個爬圖片的爬蟲,不會按照步驟來整理。

寫爬蟲時,第一步要了解的,是你要訪問的URL。而如果是一個分組的圖片(幾十張上百張),會分成幾頁,他的url肯定是有一定規律的。

然後,會遇到不知道總頁數的情況,導致無法準確判斷應該爬取多少個URL。

下面是我記錄的幾種方法。

1.一般顯示頁數的頁面,會有上一頁和下一頁。而在第一頁的時候,是不會顯示‘上一頁’的,最後一頁不會顯示‘下一頁’。所以,可以寫一個迴圈,並且直接判斷頁面是否有‘下一頁’按鈕,如果沒有,跳出迴圈即可。

2.如果頁面較多時,頁面上的處理方法一般是隻顯示固定數量的頁面。比如,顯示四個到五個頁數按鈕。這樣的話,可以考慮寫一個迴圈,比較當前頁最後的頁數按鈕的數字和上一頁的頁數按鈕的最後一個數字是否相同。如果相同,則可以得知總頁數。

3.第三種方法比較蠢,只管做請求,當請求的地址無法訪問時,說明後續沒有頁面需要繼續請求了,停止即可。但是以丟擲異常的方式做處理不推薦。