打開今日頭日官網(wǎng),在右側(cè)搜索欄輸入‘bilibili’蜀撑,在搜索頁選擇圖集選項,得到以下頁面:
從這個頁面中,我們可以看到有很多圖集蟹地,我們選擇一個圖集授翻,進入具體頁面:
這個頁面就是圖片的頁面了或悲,可以通過點擊圖片的右邊部分,切換到下一張圖片堪唐。
我們的任務(wù)就是抓取這些大圖(搜索頁面上的圖集都要抓妊灿铩),存儲到本地中淮菠。
那么男公,我們回到搜索頁面,點開兩個不同的圖集合陵,觀察他們url連接的區(qū)別:
我們看到兩個圖集連接前面都是www.toutiao.com枢赔,只有后面不同,是一串?dāng)?shù)字拥知,看起來像是id踏拜。那么到哪里獲取這條URL呢,肯定要從初始頁面中去找低剔。我們再回到搜索頁面速梗,查看網(wǎng)頁源代碼。按下ctrl+f搜索這串id數(shù)字襟齿,然而并沒有結(jié)果姻锁。因為這個頁面是使用ajex和JavaScript異步加載的。
我們按下F12打開chrome的調(diào)試界面蕊唐,選擇network選項屋摔,再選擇XHR選項。如果你之前沒有滑到頁面底部的話替梨,應(yīng)該是一片空白〉鍪裕現(xiàn)在滑到頁面底部,使之加載出下一頁內(nèi)容副瀑。這是XHR欄中會出現(xiàn)新的內(nèi)容弓熏,如下:
點擊name下的兩條鏈接。在右邊的RequestURL中可以看到完整的鏈接糠睡,比較兩條鏈接挽鞠,可以發(fā)現(xiàn)只有offset=后面的數(shù)字不同。offset:偏移量。所以信认,可以猜測這個參數(shù)起著標(biāo)志當(dāng)前頁面頁數(shù)的作用材义。然后我們復(fù)制這條url。輸入到瀏覽器的地址欄中嫁赏。
可以看到我們搜到了ID號其掂,現(xiàn)在有兩種方法獲取這個id號,第一種是使用json庫解析成python字典潦蝇,然后直接獲取id值款熬。第二種使用正則表達式獲取。這里我們選擇第一種攘乒。獲取id號后贤牛,我們就可以得到不同圖集的具體頁面了。
暫停一下则酝。我們先重新理一下上面的過程殉簸。
首先我們確定了要抓取的網(wǎng)頁:今日頭條的bilibili圖集。
先手動操作一遍沽讹,直到我們要抓取的目標(biāo)為止喂链,了解一下流程。再把這個流程寫成計算機的執(zhí)行流程:
獲取搜索頁面內(nèi)容>>獲取圖集地址>>獲取具體圖片的地址>>把圖片寫入硬盤中
第一部分就先到這里妥泉。接下來就是編寫代碼實現(xiàn)這個流程了