python字符串成熟编码_python字符串转公式两种方法获取网页编码python版
在web開發的時候我們經常會遇到網頁抓取和分析,各種語言都可以完成這個功能。我喜歡用python實現,因為python提供了很多成熟的模塊,可以很方便的實現網頁抓取。
但是在抓取過程中會遇到編碼的問題,那今天我們來看一下如何判斷網頁的編碼:
網上很多網頁的編碼格式都不一樣,大體上是GBK,GB2312,UTF-8等。
我們在獲取網頁的的數據后,先要對網頁的編碼進行判斷,才能把抓取的內容的編碼統一轉換為我們能夠處理的編碼,避免亂碼問題的出現。
下面介紹兩種判斷網頁編碼的方法:
方法一:使用urllib模塊的getparam方法import urllib
fopen1 = urllib.urlopen('http://www.baidu.com').info()
fopen2 = urllib.urlopen('http://www.002pc.com').info()
print fopen1.getparam('charset')# baidu
print fopen2.getparam('charset')# pythontab
002pc.com認為此文章對《python字符串轉公式兩種方法獲取網頁編碼python版》說的很在理。
執行結果為:
gbk
None
PS: 呵呵,其實,上面的獲取的編碼都是不正確的,我們可以自己打開網頁查看源代碼,發現baidu的是gb2312,而pythontab是utf-8。唉,這個方法確實有點坑爹啊。檢測不準確、檢測不到,它都占了,所以很不靠譜,下面介紹一個靠譜的方法。
方法二:使用chardet模塊#如果你的python沒有安裝chardet模塊,你需要首先安裝一下chardet判斷編碼的模塊哦
import chardet
import urllib
#先獲取網頁內容
data = urllib.urlopen('http://www.002pc.com').read()
#用chardet進行內容分析
chardit = chardet.detect(data)
data1 = urllib.urlopen('http://www.baidu.com').read()
chardit1 = chardet.detect(data1)
print chardit['encoding'] # pythontab
print chardit1['encoding'] # baidu
執行結果為:
utf-8
gb2312
這兩個結果都是正確的哦,各位可以去親自驗證一下~~
總結:第二個方法很準確,在網頁編碼分析的時候用python模塊分析內容是最準確的,而使用分析meta頭信息的方法是不太準確的。
更多:python字符串轉公式兩種方法獲取網頁編碼python版
https://www.002pc.comhttps://www.002pc.com/python/4630.html
你可能感興趣的python,網頁,編碼,獲取,兩種,方法
js獲取按鍵的值詳解@angular/cli 改變默認啟動端口兩種方式
因為本地希望開啟兩個項目,由于@angular/cli 生成項目默認是: 4200; 那么肯定會有端口沖突問題;
修改端口的兩種方式:
1 修改 schema.json
node_modules\@
js數字變成 號在頁面中引入js的兩種方法(推薦)
在頁面中引入js有兩種基本方式:在頁面中嵌入js、引用外部js文件。
一、在頁面中嵌入jsW WW.002PC .COM認為此文章對《在頁面中引入js的兩種方法(推薦)》說的很在理。
這是在
dw怎么插入asputf-8 網頁不顯示+utf-8網頁亂碼的通用解決方法
常常會發生這樣的問題:在瀏覽使用UTF-8編碼的網頁時,瀏覽器無法自動偵測(即沒有設定“自動選擇”編碼格式時)該頁面所用的編碼。即使網
False使用mysql_fetch_row()函數逐行獲取結果集中的每條記錄(PHP操作MySQL數據庫的方法六)
使用mysql_fetch_row()函數逐行獲取結果集中的每條記錄(PHP操作MySQL數據庫的方法六)前面我們介紹了兩種獲取結果集中的數據,那么我們今天給大家介紹第三種獲取結果集的mysql_f
php數字從大到小排序php實現json編碼的方法
《php數字從大到小排序php實現json編碼的方法》總結了關于php前端教程,對于我們來www.002pc.com確實能學到不少知識。本文實例講述了php實現json編碼的方法。分享給大家供大
linux怎么查ipCentOS 修改主機名的兩種方法
第二電腦網認為此文章對《linux怎么查ipCentOS 修改主機名的兩種方法》說的很在理,電腦技術002pc網為你提供最佳的linux入門,電腦技術。
asp.net 是否 對話框ASP.NET抓取網頁內容的實現方法
本文實例講述了ASP.NET抓取網頁內容的實現方法。分享給大家供大家參考。
php獲取數據庫的title網頁空白PHP區塊查詢實現方法分析
本文實例講述了PHP區塊查詢實現方法。分享給大家供大家參考,具體如下:
分塊查詢是介于順序查詢和折半查詢之間的一種查詢方法。
其實折半查詢就是每次折半的分塊查詢,那么分塊
aes.phppython 默認編碼( UnicodeDecodeError: 'ascii' codec can't decode)
python在安裝時,默認的編碼是ascii,當程序中出現非ascii編碼時,python的處理常常會報這樣的錯UnicodeDecodeError: ‘ascii’ codec can’t decode
0踩
賞
0 贊
總結
以上是生活随笔為你收集整理的python字符串成熟编码_python字符串转公式两种方法获取网页编码python版的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python islower函数_pyt
- 下一篇: 深股与沪股代码区别