以下代码向Yahoo API发出单个请求。如何使用urllib.request.Request
设法从多个来源请求?我知道gerequests。如果可能的话,两者之间是否有任何性能差异?
关于此主题的任何合适的模块?
user_agent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7'
headers = {'User-Agent': user_agent, }
assembled_request = urllib.request.Request(YAHOO, None, headers)
response = urllib.request.urlopen(assembled_request)
html_data = response.read()
答案 0 :(得分:1)
无法将多个请求“捆绑”为一个,无论如何,在客户端上生成请求对象所需的开销应该是微不足道的。您几乎只是等待请求通过并让服务器响应。如果您需要批量发送请求,那么异步执行是最好的方法。
如果您在Web上使用API来查询某些数据,那么通常可以使用一些等效的get_multiple()方法,而不是仅使用get()X次。这可能是你要找的东西。
例如:
www.example.com/get_cat.html?brown=1
可能产生一只棕色的猫对象。
虽然:
www.example.com/get_cats.html?brown=1
可能会产生数据库包含的所有棕色猫对象。
这些方法为服务器和客户端节省了时间和带宽。