chardet坑——比蜗牛还慢
生活随笔
收集整理的這篇文章主要介紹了
chardet坑——比蜗牛还慢
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
需求
最近在做一個功能,使用python爬取網頁然后保存到本地。其中遇到的一個難題是判斷頁面的編碼方式。有問題就百度嘍,當時我沒想到自己去解決。一百度就找到了一個叫chardet的插件。大喜過望,試了一下很OK。好了,貌似問題解決了,可是
坑
為毛我的請求變慢了很多,起初我還以為是python慢,后來一查才知道,chardet這個東西會嚴重影響速度,即使一個簡單的頁面,這家伙都要用掉我將近15s的時間去判斷頁面編碼,擦,等的我心癢癢。百度charset效率低的問題,結果沒找到。
難道是我用的方法不對。
人生啊總是充滿了懷疑
我反復的看chardet的資料,之前查的是官網,找不到網址了。這個網址也湊合http://blog.csdn.net/tianzhu123/article/details/8187470?
百度,反復試了chardet推薦的方法,結果快是快了一點,由原來的18s變為了12s。看到這個數字我滿臉狗血。最近踩了太多坑了,phantom差點把我坑死,berserkJs把我坑個半死。我已經預料到了我已經掉進了chardet的坑里。
上岸
俗話說,自己動手豐衣足食,我仰望星空思考了5分鐘然后寫出來以下代碼。雖然不全面,但是已經能夠解決了我現在遇到的問題。
def checkChar(content):start = content.find("charset")end = start+len("charset=")+30;stripStr=content[start:end]charset="utf-8"if(stripStr.lower().find("gb2312")>-1 or stripStr.lower().find("gbk")>-1) :charset="gbk"return charset總結:開源的東西真是良莠不齊,一不小心我們就會掉坑里,浪費時間浪費生命。所以能自己解決的盡量不要百度。還有以后分享代碼,也一定要負責一點,不要再給別人彎路走。
轉載于:https://www.cnblogs.com/gg1234/p/6008892.html
總結
以上是生活随笔為你收集整理的chardet坑——比蜗牛还慢的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 移动端HTML5性能优化
- 下一篇: PHP基础班初学心得:脑洞实验-JS变量