Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在像亚马逊这样的网站上正确使用urlopen?_Python_Web Scraping_Amazon_Urllib2 - Fatal编程技术网

Python 如何在像亚马逊这样的网站上正确使用urlopen?

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

我试图通过一个简单的过程从Amazon收集一些数据:

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
只需要很长时间。我应该注意的是,我省略了代码中的第三行,因为这会导致错误。你是说你粘贴的三行代码超时了吗?或者你有其他代码。