Python抓取中文網頁

2021-07-10 13:12:43 字數 1213 閱讀 8794

早就有想法把部落格每天的訪問流量記下來,剛好現在申請了gae的應用,又開始學python,正好拿這個練手。打算先利用python把訪問記錄儲存在本地,熟悉之後可以部署到gae,利用gae提供的cron就可以每天更近訪問流量了。ok,開始~

首先是簡單的網頁抓取程式:

[python]view plain

copy

import

sys, urllib2  

req = urllib2.request(""

)  fd = urllib2.urlopen(req)  

while

true

:  data = fd.read(1024

)  if

notlen(data):  

break

sys.stdout.write(data)  

在終端執行提示urllib2.httperror: http error 403: forbidden

這是由於**禁止爬蟲,可以在請求加上頭資訊,偽裝成瀏覽器訪問。新增和修改:

[python]view plain

copy

headers =   

req = urllib2.request(""

, headers=headers)  

再試一下,http error 403沒有了,但是中文全都是亂碼

這是由於**是utf-8編碼的,需要轉換成本地系統的編碼格式:

[python]view plain

copy

import

sys, urllib2  

headers =   

req = urllib2.request(""

, headers=headers)  

content = urllib2.urlopen(req).read()   # utf-8

type = sys.getfilesystemencoding()      # local encode format

print

content.decode(

"utf-8"

).encode(type)  

# convert encode format

ok,大功告成,可以抓取中文頁面了。下一步就是在gae上做個簡單的應用了~

python抓取中文網頁亂碼通用解決方法

我們經常通過python做採集網頁資料的時候,會碰到一些亂碼問題,今天給大家分享乙個解決網頁亂碼,尤其是中文網頁的通用方法。首頁我們需要安裝chardet模組,這個可以通過easy install 或者pip來安裝。安裝完以後我們在控制台上匯入模組,如果正常就可以。比如我們遇到的一些iso 8859...

中文網頁編碼使用python轉為中文

編碼1 測試 中文對應的網頁實體編碼unicode 編碼2 u6d4b u8bd5 編碼3 測試 中文對應的網頁實體編碼utf 8 編碼4 xe6 xb5 x8b xe8 xaf x95 編碼4 ascii 碼,其中三個 x表示乙個漢字 s b xe6 xb5 x8b xe8 xaf x95 pri...

BeautifulSoup 解析中文網頁亂碼問題

import urllib2 from beautifulsoup import beautifulsoup page urllib2.urlopen soup beautifulsoup page,fromencoding gb18030 print soup.originalencoding p...