事情很直接,我來分享一下。在技術羣裏有朋友提出了這麼一個問題和需求:函數
上面的一連串截圖就是事情的大體通過,我來整理一下。羣友 Ares 遇到的問題是在面對大衆點評字體爬時不知道如何肯定被混淆文字的位置,且混淆位置是隨機的。當你遇到下圖的代碼時:測試
被混淆的是後面 3 位,前 2 位數字沒被混淆。但換一個頁面情形又不同了,這就是困擾他的緣由。羣友 Rua 提出的正則是一個解決的辦法,我以爲思路很好。這裏我嘗試了另外一種解決的辦法,和正則一樣有效且效果穩定。我捋出了這些狀況:字體
若是我在工做中面對這個問題,我來編寫代碼會怎麼處理呢?編碼
假設用 x 來代替被混淆的字符,以上圖爲例,這時候我獲得的應該是 11xxx。如今我須要在字符串 11xxx 中找到 xxx 的位置便可。按照羣友 Ares 的理解,獲得的 11xxx 有多是 1xx1x 或者 x1x1x,遂很難判斷位置在哪。spa
這裏我用一個取巧的方式:強制類型轉換3d
既然 11xxx 的原身是數字,那麼我是否是能夠用強制轉換的方式判斷字符是否爲數字呢?cdn
即能轉換的就是數字,不能轉換的就是其它字符,這樣我只須要記錄下不能轉換字符的下標就能夠了。離成功只有一步,那就是編碼。如今咱們來整理一下用到的知識點或者技術點:xml
我就不一步步分析了,伸手黨是不存在的,請用手敲,完整代碼以下:blog
通過幾個頁面的測試,確認沒有問題。字符串
若是你喜歡這樣的文章,請在評論區留言告訴我。同時爲韋世東的新書 《Python3 反爬蟲原理與繞過實戰》 加油打 Call,圖靈 5 折活動 現價 44.5!