今天春哥團隊虎子給大家分享一個好東西,記錄一次用爬蟲利用接口漏洞扒了一個網(wǎng)站整站的打包數(shù)據(jù)。這個站點是做美女圖片的,直接爬完,一絲不掛的把所有資源都抓取過來了。
以下為具體文章內(nèi)容:
伸手黨請直接滑動到文章末尾(:з」∠)。
2019.01.04 百度云地址已更新,之前的被誰給舉報了,2333。
2019.02.27 又被孤兒給舉報了,這次直接被度娘直接封資源了,發(fā)不粗來,文尾會附上新的下載攻略,不用百度云
2019.06.05 重新分割打包上傳百度云,舉報司馬,╭(╯^╰)╮
后續(xù)會不定期更新的哦!
明明是很和諧友愛的資源,又不是h的好用免費的爬蟲軟件,憑什么把我的資源給封了,哼!
居然連我自己也無法下載!太過分了!
啟發(fā)過程:
前幾天玩游戲時,lol盒子右下角有條廣告,
廣告大概這個樣子
咦,小姐姐,還有,點進去看看。
哇,發(fā)現(xiàn)一個好玩的網(wǎng)站,好多漂亮的妹子,頁面打開很流暢,點開后有的瀏覽頁面還有好聽的音樂,產(chǎn)品體驗極佳。
不過每組圖片只能看前幾張圖,后面的圖只能看到縮略圖,如果想繼續(xù)看或者打包下載得花銀子,通常要1-5rmb。
ctrlC+ctrlV幾張后不樂意了,這么保存一來看不到全部圖片,二來,麻煩,太麻煩了。
俗話說,妹子是第一生產(chǎn)力,魯迅有云,懶人創(chuàng)造美好世界。
試試吧,看能不能發(fā)現(xiàn)點有趣的東東。首先習慣性的看看html源碼,一堆,頭大,pass。
從頁面源碼來看,頁面應(yīng)該是前端渲染出來的,直接解析爬蟲爬的話會比較麻煩。既然是前端渲染,那再看看請求吧,首頁肯定是加載相冊列表,沒啥大用處,直接看加載具體某一相冊的請求結(jié)果,點開某一相冊,跳過圖片,看看有沒有什么可用的接口,果然有。
復(fù)制出來,瀏覽器走起,請求后返回如下信息
很明顯是該相冊的詳細信息獲取接口,可是怎么有些像是被編碼過的東西。既然被編碼了,解碼出來瞧瞧,走起。順利解析出結(jié)果
上下翻翻看,發(fā)現(xiàn)了一個神奇的鏈接,是個zip壓縮包,嗯,有點意思。
下載回來解壓,哈哈,居然是該相冊的所有照片。
看返回的結(jié)果,很明顯使用了jsonp,于是接著試著減少參數(shù),去除了返回結(jié)果中惱人的無用回掉前綴,最后簡化到僅剩一個參數(shù),id,這接口太呆萌了。
此外還發(fā)現(xiàn)了網(wǎng)頁上音樂的地址。
至此該網(wǎng)站的“核心資產(chǎn)”已經(jīng)被扒的底褲都沒了,2333,下面開始批量爬吧。
有兩種思路,一種是利用主頁調(diào)用的獲取相冊列表參數(shù)接口來獲得相冊列表再通過列表爬壓縮包地址,另外一種是直接從1開始依次嘗試到首頁最新的一個相冊對應(yīng)的id。最終決定采用第二種思路,因為這樣即使首頁隱藏的相冊通過這種方式也能被發(fā)現(xiàn)。
開搞,建數(shù)據(jù)庫,數(shù)據(jù)表,為方便后續(xù)追加執(zhí)行,以及放在服務(wù)器上爬,所以采用配合異步調(diào)用來實現(xiàn)。一開始使用post方式進行調(diào)用,結(jié)果嘗試抓取了一兩百條后到數(shù)據(jù)庫一看,怎么這么多重復(fù)的啊,而且怎么同一個id和我用直接調(diào)得到的結(jié)果不一致?很可能開反爬了。
轉(zhuǎn)變思路,采用的是get方式,所以程序試試也使用get方式進行調(diào)用,同時加入線程隨機睡眠時間和User-Agent請求頭,以此模擬普通用戶的瀏覽器訪問行為。bingo,順利的抓取到了正確的圖包名稱、下載地址地址、音樂名稱、音樂下載地址等信息。
扔服務(wù)器上爬吧。等了大概十幾分鐘,爬完后總共獲取到892條有效的圖包記錄,202條有效的音樂記錄。
爬到地址后可不能算結(jié)束,還得把真正的壓縮包都下載回來,寫個批量下載的方法,服務(wù)器走起,然后便開始吭哧吭哧的下載好用免費的爬蟲軟件,速度還行,能接近7MB/S。
從上午11點開始到晚上9點下載完成,總共耗時10個小時,從服務(wù)器上全部下載回來吧。
經(jīng)過漫長的等待后,終于下載完,寫了個腳本統(tǒng)計結(jié)果,最終:總共獲取到了46187張圖片,大小36.5GB。
又花了大半天的時間全部上傳到度盤,下面重點來了
度盤地址:
提取碼:5id9
其中包含每100個id為一個目錄進行歸檔,本想以下圖這樣的方式放出來,方便查找和下載,卻因為度娘對外鏈關(guān)鍵詞過濾極其敏感,只得作罷。
為了便于各位預(yù)覽與對照查找,增加rar壓縮包,內(nèi)含各個相冊的預(yù)覽圖,每個相冊一張,此外還提供了對照excel文件,可通過文件名查找到對應(yīng)的下載地址,如果下載地址失效可以到上述度盤對應(yīng)的地址查找下載。
壓縮包的解壓密碼是:
自力更生下載法:
1、序號為0-1285之間的資源
可直接使用url下載(工具可以用迅雷什么的,隨意),下載地址包含在如下文件
-1285資源對照表
想下載哪個直接戳哪個即可
2、1286及以上的資源
該部分資源由于tuwan網(wǎng)接口更新,無法再獲取到壓縮包下載地址,只能通過其他方式獲取到一張張大圖地址。
大圖比較與前面的壓縮包的圖片質(zhì)量要差一些,好處的占空間小了,有的看總比沒有強吧,啊哈哈哈。
1)使用提供好的下載地址表
+資源對照表
下載的時候可以批量復(fù)制感興趣的相冊中圖片的下載地址,然后到迅雷里新建批量下載,記得勾選合并為一個任務(wù)組哦,下載體驗接近于下載壓縮包。
這種方式可能無法獲取最新的圖包,因為我不定期才會更新一下,如需獲取最新的可以采用下面的方法
2)使用程序進行下載
需要有一定的java web基礎(chǔ),源碼都提供了,隨便玩嘍
運行及下載說明可以戳這里
如果對爬蟲源碼感興趣的可以戳這里:,覺得不錯的話記得點個贊哦。
度娘下載地址更新
這次學乖了,分包打包上傳,每100一段,有個因為超過4GB所以拆成兩個壓縮包了。解壓密碼統(tǒng)一是:
度娘地址:
1-100
提取碼:ytdc
復(fù)制這段內(nèi)容后打開百度網(wǎng)盤手機App,操作更方便哦
101-200
提取碼:imxg
復(fù)制這段內(nèi)容后打開百度網(wǎng)盤手機App,操作更方便哦
201-300
提取碼:v6zj
復(fù)制這段內(nèi)容后打開百度網(wǎng)盤手機App,操作更方便哦
301-400
提取碼:yhbi
復(fù)制這段內(nèi)容后打開百度網(wǎng)盤手機App,操作更方便哦
401-500
提取碼:ljgj
復(fù)制這段內(nèi)容后打開百度網(wǎng)盤手機App,操作更方便哦
501-600
提取碼:1djs
復(fù)制這段內(nèi)容后打開百度網(wǎng)盤手機App,操作更方便哦
601-700
提取碼:z6no
復(fù)制這段內(nèi)容后打開百度網(wǎng)盤手機App,操作更方便哦
701-800
提取碼:sca0
801-900
提取碼:g7an
復(fù)制這段內(nèi)容后打開百度網(wǎng)盤手機App,操作更方便哦
901-1000
提取碼:9y6r
復(fù)制這段內(nèi)容后打開百度網(wǎng)盤手機App,操作更方便哦
1001-1100
提取碼:7l9i
復(fù)制這段內(nèi)容后打開百度網(wǎng)盤手機App,操作更方便哦
1101-1200
提取碼:7t0o
復(fù)制這段內(nèi)容后打開百度網(wǎng)盤手機App,操作更方便哦
1201-1250
提取碼:pk31
復(fù)制這段內(nèi)容后打開百度網(wǎng)盤手機App,操作更方便哦
1251-1300
提取碼:mcgu
復(fù)制這段內(nèi)容后打開百度網(wǎng)盤手機App,操作更方便哦
1301-1400
提取碼:vlvv
復(fù)制這段內(nèi)容后打開百度網(wǎng)盤手機App,操作更方便哦
enjoy it!