python 解决IndentationError: unexpected unindent的报错!和通用代码框架,import requests def getHTMLText(url)...的解释

python报错IndentationError: expected an indented block。
解决办法很简单,是脚本缩进的问题,检查脚本缩进是否有空格和tab混用的情况或者是缩进明显不对的情况。

通用代码框架:

import requests
def getHTMLText(url):
    try:#n个空格缩进(n!=0)
        r = requests.get(url, timeout = 30)#2n个空格缩进(n!=0)
        r.raise_for_status()#2n个空格缩进(n!=0)
        r.encoding = r.apparent_encoding#2n个空格缩进(n!=0)
        return r.text#2n个空格缩进(n!=0)
    except:#n个空格缩进(n!=0)
        return "异常"#2n个空格缩进(n!=0)

就是空格缩进要满足n与2n的关系!

在编译时会出现这样的错IndentationError:expected an indented block说明此处需要缩进,你只要在出现错误的那一行,按空格或Tab(但不能混用)键缩进就行。
比如:

if xxxxxx:
(空格)xxxxx
或者
def xxxxxx:
(空格)xxxxx
还有
for xxxxxx:
(空格)xxxxx

下面这个就很OK呀!按照这样就好啦!
python 解决IndentationError: unexpected unindent的报错!和通用代码框架,import requests def getHTMLText(url)...的解释_第1张图片然后,运行测试:
正常的:

if __name__ == "__main__":
    url = "http://www.baidu.com"
    print(getHTMLText(url))

破坏掉HTTP之后的:

if __name__ == "__main__":
    url = "tp://www.baidu.com"
    print(getHTMLText(url))

python 解决IndentationError: unexpected unindent的报错!和通用代码框架,import requests def getHTMLText(url)...的解释_第2张图片

剩余的,

r.raise_for_status() #如果不是200,产生异常requests.HTTPError 专门与异常打交道。

import requests
r = requests.get("http://www.baidu.com")
print(r.status_code)
print(r.headers)
print(r.text)
print(r.encoding)   #从header里猜测编码
print(r.apparent_encoding)    #从内容中分析出响应内容编码方式(备选编码方式)(解析中文)
r.encoding = 'utf-8'
print(r.text)
print(r.content)

这个会直接出现百度网页内容!

你可能感兴趣的:(python)