我想写一个CGI脚本,它接受表单数据,发送到搜索引擎,搜索,然后在运行我的CGI脚本的网页上显示结果。我一直在尝试使用urllib和urllib2。在
在我的剧本中:你好.py在
if form.has_key("data_search"):
datasearch = form["data_search"].value
url = 'http://www.example.com/'
data = urlparse.urlparse(datasearch)
data2 = urllib.urlencode(data)
req = urllib2.Request(url, data2)
response = urllib2.urlopen(url, data2)
the_page = response.read()
print response
response.close()
所以我想把用户输入(datasearch),发送到另一个url的搜索引擎(www.example.com网站),并在我的网页上打印搜索结果(www.server.com/cgi-bin/hello.py). 在
当前脚本不工作。我不确定我只是犯了一些语法错误,或者我是否需要一个全新的方法。在
第一个错误在
数据2=urllib.urlencode数据(D)
内置类型错误= TypeError:不是有效的非字符串序列或映射对象 args=('不是有效的非字符串序列或映射对象',)
其中“print data”的结果是('','','TTBar','','',''),TTBar是我的查询。在
不确定如何获取表单数据,但
datasearch = form["data_search"].value
似乎已经返回了data_search
参数的值。使用urlparse.urlparse
解析完整的url,即http://somesite.com/?datasearch=TTBAR。因此,你可以这样做:或者更好地使用优秀的requests库:
^{pr2}$相关问题 更多 >
编程相关推荐