小编use*_*635的帖子

Python urllib2.HTTPError:HTTP错误503:服务在有效网站上不可用

我一直在使用亚马逊的产品广告API来生成包含给定图书价格的网址.我生成的一个网址如下:

http://www.amazon.com/gp/offer-listing/0415376327%3FSubscriptionId%3DAKIAJZY2VTI5JQ66K7QQ%26tag%3Damaztest04-20%26linkCode%3Dxm2%26camp%3D2025%26creative%3D386001%26creativeASIN%3D0415376327

当我点击链接或粘贴地址栏上的链接时,网页加载正常.但是,当我执行以下代码时,我收到一个错误:

url = "http://www.amazon.com/gp/offer-listing/0415376327%3FSubscriptionId%3DAKIAJZY2VTI5JQ66K7QQ%26tag%3Damaztest04-20%26linkCode%3Dxm2%26camp%3D2025%26creative%3D386001%26creativeASIN%3D0415376327"
html_contents = urllib2.urlopen(url)
Run Code Online (Sandbox Code Playgroud)

错误是urllib2.HTTPError:HTTP错误503:服务不可用.首先,我不明白为什么我甚至会因为网页成功加载而出现此错误.

此外,我注意到的另一个奇怪的行为是,以下代码有时会做,有时不会给出指定的错误:

html_contents = urllib2.urlopen("http://www.amazon.com/gp/offer-listing/0415376327%3FSubscriptionId%3DAKIAJZY2VTI5JQ66K7QQ%26tag%3Damaztest04-20%26linkCode%3Dxm2%26camp%3D2025%26creative%3D386001%26creativeASIN%3D0415376327")
Run Code Online (Sandbox Code Playgroud)

我完全迷失了这种行为的发生方式.是否有任何修复或解决方法?我的目标是阅读网址的html内容.

编辑

我不知道为什么堆栈溢出正在改变我的代码,以便将我在上面列出的amazon链接更改为rads.stackoverflow.无论如何,忽略rads.stackoverflow链接并在引号之间使用上面的链接.

python urllib2

16
推荐指数
2
解决办法
3万
查看次数

python:无法打开文件'django-admin.py':[Errno 2]没有这样的文件或目录

我有一台Mac,我开始研究django.当我尝试通过写作在终端上制作项目时

python django-admin.py startproject myproject
Run Code Online (Sandbox Code Playgroud)

我收到这个错误

python: can't open file 'django-admin.py': [Errno 2] No such file or directory
Run Code Online (Sandbox Code Playgroud)

当我在寻找帮助时,一个解决方案建议写入类型django-admin.py以获取django-admin.py的位置并使用它.

所以当我输入

python /usr/local/bin/django-admin.py startproject myproject
Run Code Online (Sandbox Code Playgroud)

我的项目已创建.

任何人都可以告诉我为什么我需要这样做以及为什么我不能只写django-admin.py?反正也是为了解决这个问题?

python django

9
推荐指数
1
解决办法
4万
查看次数

比较 C++ 中的 #include 和 using namespace std 与 Python 中的 import

我在互联网上阅读了许多关于C++ 中的#include语句和using namespace std短语的页面,我需要一些澄清。因为我已经了解 Python,所以我将用它作为类比。首先,在C++中

#include library
Run Code Online (Sandbox Code Playgroud)

在Python中

import library
Run Code Online (Sandbox Code Playgroud)

是相同的。然后,在 C++ 中

#include library
using namespace std;
Run Code Online (Sandbox Code Playgroud)

在Python中

from library import *
Run Code Online (Sandbox Code Playgroud)

是相同的。

例如,如果我们比较第一个类比,我们知道在C++中

#include <iostream>

int main()
{
std::cout << "hello" << std::endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)

类似于Python中的以下代码(与使用std和#include类似):

import math

def main():
    print math.sqrt(12)
Run Code Online (Sandbox Code Playgroud)

如果我们要比较第二个类比,我们在 C++ 中就有这样的情况

include <iostream>
using namespace std;

int main()
{
cout << "hello world" << endl;
}
Run Code Online (Sandbox Code Playgroud)

在Python中

from math import *
def main():
    print sqrt(12)
Run Code Online (Sandbox Code Playgroud)

是相似的。

如果我错了你能纠正我吗?

c++ python

2
推荐指数
1
解决办法
3506
查看次数

标签 统计

python ×3

c++ ×1

django ×1

urllib2 ×1