首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么在使用urllib2 python库时,worldcat REST API返回响应的时间比使用浏览器时要长得多?

为什么在使用urllib2 python库时,worldcat REST API返回响应的时间比使用浏览器时要长得多?
EN

Stack Overflow用户
提问于 2015-07-26 03:30:24
回答 1查看 130关注 0票数 0

我使用的是worldcat python包,它使用worldcat open REST API,并使用搜索查询和其他parameters.Basically来获取图书数据,它做到了这一点-

代码语言:javascript
复制
self.response = urllib2.urlopen(_query_url).read()

其中_query_url是由基本url和一些参数组成的url,例如搜索字符串、每页记录数等。通过使用timeit包,我发现每次调用API都需要18-20秒。

然而,如果我从浏览器发出这个请求,只需要3-4个seconds.What就会导致python lib.Is中的延迟,这正常吗?如何在python中更快地发出API请求?

EN

回答 1

Stack Overflow用户

发布于 2015-07-26 03:48:29

我的幸运猜测是使用自定义头部-它们可能有某种保护或其他什么。

尝试:

代码语言:javascript
复制
headers = {
    "User-Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0",
    "Accept-Encoding": "gzip, deflate",
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
    "Accept-Language": "en-US,en;q=0.5",
    "Connection": "keep-alive",
    "Content-Type": "text/html;charset=utf-8"
}

r = urllib2.Request(_query_url, None, headers)
self.response = urllib2.urlopen(r)

无论如何,我喜欢使用python 'requets',为什么不试一试呢?简单而稳定。除了一些SSL密钥问题,但那是另一回事了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31630334

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档