Вам не нужен "асинхронный httprequest", чтобы использовать 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)
Вероятно, есть несколько библиотек, которые обеспечивают хороший интерфейс OO для этих запросов http.
Чтобы сделать несколько запросов одновременно, вы можете использовать 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