最近朋友在苦學英文,但是又不知道自己學的怎麼樣了,直到有一天,他找到了扇貝網,裏面有個“評估你的單詞量”功能非常的好,就推薦給我了!
今天我們就用python做一個小的爬蟲,然後自己寫一個腳本來實現這個功能吧!
目標:打造一個英文詞彙量測試腳本
url:扇貝網
工具:python3.6、pycharm、requests庫
思路:
和網頁一樣,總共分三步:
先來看看網頁中數據,用F12開發者工具抓包就可以
爲了更好的演示,這裏網頁縮小了。
點擊開始,在來看看出現了什麼
這裏我們抓到了一個包,這個json數據中包含了所有的類別或者說是級別,一共十大類,我們點擊”響應”驗證下
可以看到,顯示內容在我們抓到的json數據中,但是0和1中的內容有的一樣,有的不一樣是什麼鬼?不要急,我們先選擇‘高考’,在抓下包看看
選擇高考後,網頁直接給出了第二步,50個單詞選擇,注意,先看下抓到的json數據的真實地址
還記得我們在第一步抓到的包嗎?0裏面就是這個真實地址最後的category的值,1裏面是對應的顯示在網頁中的內容,好了,第二步的真實url也被我們找到規律了,那下來就是分析單詞了,看看有什麼規律,我們點開一個看看
有幾個值非常重要,也是我們的目標:
Content的值是顯示的單詞
Definition_choices是需要我們判斷的多個詞義,中間包含有正確的詞義,每個詞義中的rank值應該是該詞義的標識
rank值是正確的詞義,也由此判斷上述多個詞義中的正確詞義
ok,到這裏我們就可以開始寫代碼了,具體過程就不一一說明了,沒有反爬,全部是json數據的讀取和判斷,先放上我的代碼
請大家忽略我那渣渣的英語水平和排版
由於這個網站非常簡單,僅僅抓包就可以得到所有數據,沒有任何反爬,所以,也是我們新手練手的好地方,大家都可以試試,如果有作出更漂亮的腳本,歡迎大家在評論區一起分享!