ris*_*p89 5 python xmlhttprequest
我想在python中使用twitter搜索Web服务.我想打电话给像这样的网络服务:
http://search.twitter.com/search.json?q=blue%20angels&rpp=5&include_entities=true&result_type=mixed
Run Code Online (Sandbox Code Playgroud)
从我的python程序.
任何人都可以告诉我
如何在python中使用xmlhttprequst对象
如何将参数传递给它,以及
如何在字典中获取数据.
这是我的尝试:
import urllib
import sys
url = "http://search.twitter.com/search.json?q=blue%20angels&rpp=5&include_entities=true&result_type=mixed"
urlobj = urllib.urlopen(url)
data = urlobj.read()
print data
Run Code Online (Sandbox Code Playgroud)
谢谢.
您不需要"异步httprequest"来使用twitter搜索API:
import json
import urllib
import urllib2
# make query
query = urllib.urlencode(dict(q="blue angel", rpp=5, include_entities=1,
result_type="mixed"))
# make request
resp = urllib2.urlopen("http://search.twitter.com/search.json?" + query)
# make dictionary (parse json response)
d = json.load(resp)
Run Code Online (Sandbox Code Playgroud)
可能有几个库围绕这些http请求提供了一个很好的OO接口.
要同时发出多个请求,您可以使用gevent:
import gevent
import gevent.monkey; gevent.monkey.patch_all() # patch stdlib
import json
import urllib
import urllib2
def f(querystr):
query = urllib.urlencode(dict(q=querystr, rpp=5, include_entities=1,
result_type="mixed"))
resp = urllib2.urlopen("http://search.twitter.com/search.json?" + query)
d = json.load(resp)
print('number of results %d' % (len(d['results']),))
jobs = [gevent.spawn(f, q) for q in ['blue angel', 'another query']]
gevent.joinall(jobs) # wait for completion
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11805 次 |
| 最近记录: |