2011-10-02 15 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