如何使用urllib.request.Request从多个来源请求?

时间:2015-07-07 12:57:44

标签: python-3.4

以下代码向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()

1 个答案:

答案 0 :(得分:1)

无法将多个请求“捆绑”为一个,无论如何,在客户端上生成请求对象所需的开销应该是微不足道的。您几乎只是等待请求通过并让服务器响应。如果您需要批量发送请求,那么异步执行是最好的方法。

如果您在Web上使用API​​来查询某些数据,那么通常可以使用一些等效的get_multiple()方法,而不是仅使用get()X次。这可能是你要找的东西。

例如:

www.example.com/get_cat.html?brown=1

可能产生一只棕色的猫对象。

虽然:

www.example.com/get_cats.html?brown=1

可能会产生数据库包含的所有棕色猫对象。

这些方法为服务器和客户端节省了时间和带宽。