天天看點

python怎麼爬取牆外資料_用Python教你爬取牆外的資料

終于想開始爬自己想爬的網站了。于是就試着爬P站試試手。

一開始以為不用登陸,就直接去爬圖檔了。

後來發現是需要登入的,但是不會隻好去學模拟登陸。

python怎麼爬取牆外資料_用Python教你爬取牆外的資料

然後還要去擷取我們登陸時候需要的data。點住上面的presevelog,找到登陸的網址,點開檢視Form Data就可以知道我們post的時候的data需要什麼了。這裡可以看到有個postkey,多試幾次可以發現這個是變化的,即我們要去捕獲它,而不能直接輸入。

python怎麼爬取牆外資料_用Python教你爬取牆外的資料

于是退回到登陸界面,F12檢視源碼,發現有一個postkey,那麼我們就可以寫一個東西去捕獲它,然後把它放到我們post的data裡面。

python怎麼爬取牆外資料_用Python教你爬取牆外的資料

這裡給出登陸界面需要的代碼:

python怎麼爬取牆外資料_用Python教你爬取牆外的資料

愉快地解決完登陸問題之後,就可以開始爬圖檔啦。

進入target_url:上面的目标網址。

點選目标的位置

python怎麼爬取牆外資料_用Python教你爬取牆外的資料

點開ul這個标簽,發現圖檔全部都是在

這裡面的,因為我們要爬大一點的圖(爬個小圖有什麼用啊!),是以還要進入一層第一個連結的網址去擷取大圖,我們可以發現我們隻要在main_url((http://www.pixiv.net)),再加上第一個href,就可以跑到圖檔所在的網址了,于是我們先跳轉到圖檔網址看看怎麼提取圖檔。

python怎麼爬取牆外資料_用Python教你爬取牆外的資料

發現圖檔就躺在這裡了,而且連标題都有,直接友善了我們存圖的名字了。于是我們就可以直接去提取圖檔了。

注意我們在請求擷取圖檔的時候要加一個referer,否則會403的。referer的找法就和上面一樣。

python怎麼爬取牆外資料_用Python教你爬取牆外的資料

接下來輪到下載下傳圖檔了。這個之前還不怎麼會,臨時學了一下。

首先是建立檔案夾,我這裡是每一頁就開一個檔案夾。

python怎麼爬取牆外資料_用Python教你爬取牆外的資料
python怎麼爬取牆外資料_用Python教你爬取牆外的資料

這樣我們的大體工作就做完了。剩下的是寫一個work函數讓它開始跑。

python怎麼爬取牆外資料_用Python教你爬取牆外的資料

啟動!

大概跑了10頁之後,會彈出一大堆資訊什麼requests不行怎麼的。問了下别人應該是被反爬了。

于是去搜了一下資料,http://cuiqingcai.com/3256.html,照着他那樣寫了使用代理的東西。(基本所有東西都在這學的)。

于是第一個小爬蟲就好了。不過代理的東西還沒怎麼懂,到時候看看,50頁爬了兩個多鐘。

對了。可能網站的源代碼會有改動的。因為我吃完飯後用吃飯前的代碼繼續工作的時候出錯了,然後要仔細觀察重新幹。

python怎麼爬取牆外資料_用Python教你爬取牆外的資料