该博文涵盖了如下内容:
1. WSDL
2. SOAPpy
3.面向对象封装方法
1. WSDL
2. SOAPpy
3.面向对象封装方法
#encoding=utf-8
"""
Search Google from the command line
url : http://pywebsvcs.sourceforge.net/
Install http://ncu.dl.sourceforge.net/project/pywebsvcs/SOAP.py/SOAPpy%200.11.0/SOAPpy-0.11.0.tar.gz
author : edison & dive in python
"""
from SOAPpy import WSDL
#see http://code.google.com/intl/zh-CN/apis/soapsearch/api_faq.html
WSDLFILE = 'http://api.google.com/GoogleSearch.wsdl'
APIKEY = 'key'
#建立web service
_server = WSDL.Proxy(WSDLFILE)
#打印soap输入,输出
_server.soapproxy.config.dumpSOAPOut = 1
_server.soapproxy.config.dumpSOAPIn = 1
def search(q):
print "print server methods"
print _server.methods.keys()
"""Search Google and return list of {title, link, description}"""
results = _server.doGoogleSearch(
APIKEY, q, 0, 10, False, "", False, "", "utf-8", "utf-8")
return [{"title": r.title.encode("utf-8"),
"link": r.URL.encode("utf-8"),
"description": r.snippet.encode("utf-8")}
for r in results.resultElements]
if __name__ == '__main__':
import sys
if sys.argv[1] :
for r in search(sys.argv[1])[:5]:
print r['title']
print r['link']
print r['description']
print
if __debug__:
#只打印前5条
for r in search("tl50")[:5]:
print r['title']
print r['link']
print r['description']
print
pass