Palai

Palai

程序员 | 开源爱好者 | 喜欢交友

實習生就是塊磚,哪裡需要搬哪裡

背景:负责的项目这段时间没有啥活了,摸鱼几天之后,mt 给我说搞一个小需求。
然後有個產品經理就聯繫我了,說是讓我實現一個爬蟲需求:將郵箱中的內容上傳到我司的平台。

嗯,就是這個小需求,有點搞心態。不是說技術上的問題,而是。。。。。(預知後事如何,請接著往下看)

我:那這個郵箱有限制嗎,可以使用網頁版的嗎?
A:這個沒啥要求,可以的
我:上傳到平台這個接口,有沒有現成的
A:你去找 ** (負責項目的爬蟲模塊)他知道

然後我了解完就開幹了。

測試用的郵箱是我自己的 163 郵箱,因為我是 Java 對於 Python 來說都不是很熟練。
調研一番之後,先是考慮到用 Selenium 模擬自動化去實現,我只要通過固定的按鈕來控制進行。
第一關:登錄
使用 Selenium 模擬登錄,會被 ban。因為太快了,被網易的反爬機制檢測出來了。
解決:一個 sleep(time)函數即可
第二關:挖掘共性
因為我需要實現的是批量操作,所以我代碼的通用性要更合適。
實現流程:登錄 - 點擊未讀郵件的 logo(讀過的,就不需要再次爬取了)- 第一封 - 解析內容 - 返回 - 第二封 - 解析內容 - 返回 ----。。。。。。。
這個流程中,解析到內容以後,我想要實現返回按鈕,這個時候出現了未知的原因,我用了很多種方法,都沒有成功。(很離譜)不過已經到周五了。。嘿嘿

然後經過了一個周末,我解析的內容也出現問題了,爬取的內容為空。
直接 f12 看看到底哪裡出問題了,後面發現是前端的框架變了(虛驚一場)重新解析即可。
上面提到的問題還沒有解決,很是苦惱。於是我開始用第二種方法了:直接獲取整個頁面的內容,再用一個循環控制批量。最後解析整個內容即可。
就這樣我完成了這個小需求。

我:你好,您看看這個效果符合嗎?
A:不是,我不需要整個的內容,我只需要特定的鏈接(說著就開共享給我看了具體流程)
我:嗷嗷,我懂了(其實就是爬取他郵箱中特定郵件的報告,把裡面的特殊鏈接提供給給爬蟲)(服了,一開始直接給我演示不好嗎!)這跟上傳哪門子搭架了。
我:那提供給爬蟲是需要以什麼格式呢?文本?還是啥?
A:你去問爬蟲小哥,他知道
我:好的(^^_)

最後把爬到的鏈接存到本地 execl 中按照 鏈接:時間戳 的格式存儲

收穫:一定要搞清楚需求,必要時可直接演示,因為你不知道產品經理口中的東西是不是你腦中的東西 ^^_#

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。