2015年2月19日 星期四

[Python] 使用Python 取得網頁原始碼

我們取一下高雄市立圖書總館的簡介,網址如下
http://pwbgis.kcg.gov.tw/construction/construction.aspx?id=63                                                            
程式碼只要3行                                                                                         ..

import requests
 
res = requests.post("http://pwbgis.kcg.gov.tw/construction/construction.aspx?id=63")

print res.text.encode('big5')


但中間可能會遇到一些問題,例如找不到requests模組








使用pin來安裝模組,windows 版本的python 在2.7 後有把pip內建了,放在python27\Scripts。

輸入 pip install requests   就會自動安裝了。


接下來是輸出的問題。

假設我如果沒有指定編碼

import requests
 
res = requests.post("http://pwbgis.kcg.gov.tw/construction/construction.aspx?id=63")

print res.text

會發生錯誤



這個原因是因為預設編碼的問題,我們用另一個python程式來讀取一下系統預設

import sys
print sys.getdefaultencoding()

在 win 7 上輸出為ascii

今天如果我們要輸出的內容中有不在ascii範圍內的字元,則會抛出上述的錯誤,所以我們要

指定編碼,或是修改預設編碼,詳細內容可以參閱以下網址。



沒有留言:

張貼留言