我的研發進擊路(3.31)
爬蟲爬呀爬發表於2019-03-31
- 一、 太激動了哈哈哈哈哈。直至現在(3.31日23:42),研發考核的基本功能我終於大致實現了(雖然可能很多別的大佬早就完成遼),回首這兩個星期,既有接觸新知識的興奮,又有打碼出錯不斷的惱怒,但經過兩個星期的努力,我相信我自己已經比原來進步了很多。
- 二、 學到現在,我最大的感觸就是不要因為事物未知就害怕。猶記得接受考核任務時聽到什麼資料庫,什麼SQL語句,什麼tkinter就有點打退堂鼓了。但真正接觸了,才發現他們也就那麼回事。
- 三、 總結一下一些基礎功能的實現:
- ①關於QQ音樂的爬取:
- 首先,QQ音樂的請求方式都是ajax非同步請求的,所以在搜尋請求檔案的時候可以進行xhr過濾再在裡面查詢相關請求檔案;
- 其次,獲取QQ音樂的音訊下載連結這個過程是一環接著一環的,大致是:找到client_search_cp開頭的請求檔案->在其請求url中輸入歌曲名/歌手名->獲取歌曲的songmid->再由songmid和filename(C400+songmid)找到vkey->由vkey構建下載連結;其中,在請求url網址中獲取songmid這個步驟個人感覺有點坑,裡面有mid、songmid、media_mid這些讓人混淆的東西,本人一開始就在這裡卡了好久……嗚嗚嗚
- 再者,在請求url中還可以獲取歌名,歌手名,專輯名,歌曲時長,歌曲id這些資訊,但是裡面諸如(id,songid,vid)||(name,title,title_hilight)||(album,albumName,albumname_hilight)也讓人腦殼痛,著實卡了我好久。
- 但目前還解決不了的是如何模擬登陸,如何實現整張專輯的下載
- ②關於tkinter構造介面:
- 整體不難,個人感覺比較有意思的就是按鈕關聯函式,listbox的curselection()方法可以返回所選中歌曲的預設索引。
- 但目前還解決不了的是在listbox中如何將歌曲資訊有序的存放
- ③關於資料庫的儲存:
- 瞭解了基本的SQL語句以及用pymysql實現SQL語句後,關於歌曲資訊的儲存和查詢還是不難實現的。
- 但目前還解決不了的是如果能成功實現登陸後,如果將每個賬號對應一個表
- ④總的來說:
- 現在基礎功能算是基本實現了,但目前大多數程式碼還是擠在一個檔案裡面
- 接下來一個星期,儘量實現:
- 程式碼的封裝,分散在多個檔案中
- 實現多執行緒
- 程式的異常處理能力有待提高
- 模擬登陸
- 實現爬取QQ音樂評論並按詞的頻率生成詞雲
- 四、加油!!!希望真的能順利撐過一輪考核,二輪考核,如果最後真的能進入研發我睡著都能笑醒,啊啊啊啊加油加油,我真的好想進研發呀呀呀!!!