Python 如何在像亚马逊这样的网站上正确使用urlopen?
我试图通过一个简单的过程从Amazon收集一些数据:Python 如何在像亚马逊这样的网站上正确使用urlopen?,python,web-scraping,amazon,urllib2,Python,Web Scraping,Amazon,Urllib2,我试图通过一个简单的过程从Amazon收集一些数据: response = urllib2.urlopen(url) amzn_response = response.read() json_data = json.loads(amzn_response) 我的问题是,我必须在请求之间插入1到2秒的延迟,否则它最终会挂起并超时 是的,我也尝试过将用户代理设置为Python以外的东西。同样的结果 在这种情况下,我是在住宅DSL线路上运行Windows Vista的代码。我还没有试着用我的Lino
response = urllib2.urlopen(url)
amzn_response = response.read()
json_data = json.loads(amzn_response)
我的问题是,我必须在请求之间插入1到2秒的延迟,否则它最终会挂起并超时
是的,我也尝试过将用户代理设置为Python以外的东西。同样的结果
在这种情况下,我是在住宅DSL线路上运行Windows Vista的代码。我还没有试着用我的Linode之一运行它(代码还没有准备好)
我可以忍受请求之间的一点延迟,但1+秒确实会让事情停止。我也不想用请求重击亚马逊。这当然不是目的。我怎样才能走得更快
另外,不,我不能通过他们的API获得我要的数据。我们通过这种方式获取所有数据,但有一些数据是其他方式无法获取的
编辑1:url
可以是这样的:
编辑2:我必须插入的延迟是在我成功地从每个请求接收数据之后。换句话说,我请求一个给定的
url
,获取数据,存储它,然后我必须等待1到2秒,然后我请求一个新的url
,否则它最终会超时。你的url是什么?如果我们不知道您的目标URL,那么上面的代码是非常无用的。据我们所知,错误可能就在那里。选择任意一个产品页面作为示例。例如:您是否尝试过使用请求
而不是urlib2
?顺便说一句,两个都为我工作<与请求相比,code>urlib2
只需要很长时间。我应该注意的是,我省略了代码中的第三行,因为这会导致错误。你是说你粘贴的三行代码超时了吗?或者你有其他代码。