2011-10-02 29 views
-2

我寫了一個非常基本的Python 3函數來獲取一些數據的Web頁面,但我收到一條錯誤消息:當執行這個程序錯誤,Python中檢索數據的網頁3

import urllib.parse 
import urllib.request 

def fetch_web (url, par1,par2="",par3=""): 

    values = {"s":"stor","l":"SVEENG"} 
    data = urllib.parse.urlencode(values) 
    req = urllib.request.Request(url,data) 

    response = urllib.request.urlopen(req) 

    page = response.read() 

url = "http://wwww.ord.se" 
fetch_web(url,"stor") 

我收到以下錯誤消息:

TypeError:POST數據應該是字節或可迭代的字節。它不可能是str。

有關錯誤的任何想法?

+0

很多重複的SO像[這一個](http://stackoverflow.com/q/5440485/701884) – Wivani

回答

1

你應該瞭解Bytes vs Characters在Python 3

而且他們使用字節串,如:b'...'爲您發佈到網站上的數據。

+0

該網址似乎已經死了 – Wivani

+0

@Wivani哦,看起來像他們刪除了網絡版[潛水到Python 3](http://www.amazon.com/Dive-Into-Python-Books-Professionals/dp/1430224150) – JBernardo