python为什么会出现IndentationError: unexpected unindent? 20C

这是源码

 # -*- coding: utf-8 -*-
# @Time     : 2018/6/22 22:44
# @Author   : yyc
# @File     : 爬虫2.py
# @Software :  PyCharm
#======================================================
import urllib.request
import requests
import time
import random
from bs4 import BeautifulSoup

i = 0
idList = ['80749562','80765157','80753463','80753023','80752222','80751582','80751341','80748977','80781967']
url = 'https://blog.csdn.net/weixin_42246860/article/details/'
randomTimes = random.randint(1.0,3.0)

def getHTML(url):
    global i
    headers = {'User-Agent': 'User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36'} 
    i += 1
    try:
        for j in range(len(idList)):
            req = requests.Request(url + idList[j], headers=headers)
            soup = BeautifulSoup(req.text,"html.parser")
            title_list = soup.find_all("h1",class_="title-article").a.text.strip()
            title = title_list[i].a.text.strip()
            urllib.request.urlopen(url + idList[j]).read().decode('utf-8')
            print("第 {} 次访问: ".format(i) + url + idList[j] + "             标题: %s" % title)
            time.sleep(randomTimes)
        print("\n******************** 第 {} 轮访问结束 ********************\n".format(i))
    except:
        print("错误,继续程序")
        pass

def body():
    while True:
        getHTML(url)


body()

这是出错的部分

 def body():
    while True:
        getHTML(url)

可是我明明缩进了啊,下面是Notepad++显示出来的缩进符
图片说明

下面是详细错误

  File "爬虫.py", line 33
    def body():
    ^
IndentationError: unexpected unindent

0

8个回答

会不会是没保存,或者body函数下面的两行tab和空格混用了,尝试把下面两行的空格重新输入。

2

保存了,而且N++显示 ----> 的都是缩进,我把所有的缩进都删掉再tab了一次,还是没用,最后把BeautifulSoup的代码都删除,就可以了

1

刚学了Python,你的问题是后代码的缩进有问题,把下面的代码都改改缩进应该就会好了,我以前也经常出现这样的问题

0

那是不是BeautifulSoup这个里面的代码缩进不对呢

0

缩进错误,python格式要求很严的

-1

这个代码明显是从博客上复制粘贴的,在这个情况下很容易出现问题;
注意def body还有while True之间的空格,选中后再巧空格
试试是不是问题就解决了呀

-1

不能用TAB缩进,要用4个空格,你可以设置编辑器TAB为4个空格。

-1

缩进问题,不同编辑器的缩进格式都可能会不一样,从其它地方直接copy的代码都需要对应调整

-1
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
TensorFlow 运行官方文档中文版 简单例子出现:IndentationError:unexpected indent
例如 >>>  a = tf.constant(10)   File "", line 1     a = tf.constant(10)     ^ IndentationError: unexpected indent 原因: 1.对于此错误,最常见的原因是,的确没有对齐 2. 当前python脚本代码的所有字符都显示出来看看有没有啥特殊的字符。 可以用
python3入门——条件语句、循环语句( unexpected indent意外缩进)
1.标准if条件语句 1.1语法格式 if expression:    if_suite 1.2用法: 如果expression表达式的值非0或者为布尔值true,则执行if_suite代码块 2.if ...else条件语句 2.1语法格式 if expression:    if_suite else:   else_suite 2.2用法 如果expressi...
Python的空格与tab混淆记录
执行python脚本报错:IndentationError: unindent does not match any outer indentation level看上去格式都是对齐的,用的文本编辑器Notepad++打开,视图-显示符号-显示空格与制表符 把tab改成空格,统一一下格式 ...
ML之RL:强化学习的简介(相关论文)、常用算法、案例应用、学习资源之详细攻略
ML之RL:强化学习的简介(相关论文)、常用算法、案例应用之详细攻略 目录 强化学习的简介 强化学习的常用算法 1、策略学习 2、Q-Learning 强化学习的案例应用 强化学习的学习资源 1、Frameworks and Packages 2、Reading 3、Papers 4、Lectures and Videos 5、Tutorials 强化...
python错误总结
Python遇到的一些小问题
机器学习:K-近邻算法——改进海伦约会网站配对效果
作为一个程序猿,同时学习两种东西已经习以为常…Python作为一种工具,实现机器学习的某些算法。作为Python小白和机器学习小白,光是看懂程序就已经花了我很长一段时间~下面我将讲解机器学习实战中的KNN算法中的改进海伦约会网站配对效果,但是在遇到某些难懂的Python语法和函数,我会在代码旁进行注释解释。 以后我都会这么做,一方面是为了熟悉Python语法与函数,另一方面是为了Python小白在...
python常见错误(持续更新)
1.matplotlib画图报错AttributeError: ‘module’ object has no attribute ‘popall’ 解决方法如下: 原版本1.2.0升级成2.0.2 rpm -e python-matplotlib-1.2.0-15.el7.x86_64 pip install matplotlib==2.0.2 2.解码错误UnicodeDecodeE...
python基础语法中所遇到的错误整理
python基础语法 博主参考的是简明python教程 书籍的下载地址:点击打开链接 博主用了一周的时间学习python 基础语法 ,看书必看视频的效率要高,看书完全是自己的想法,有自己思考的时间,看视频是老师的思路,你跟下来,然后发现什么都没学会(因人而异)接下来我会按照这个计划继续进行 1、Week1:读完《简明Python教程》,适应Python开发环境
Python日常学习BUG合集及解决办法
问题 1 : SyntaxError: Non-UTF-8 code starting with '\xbd' in file ...产生原因:程序中出现中文,运行的时候出现如上错误,导致出错的根源就是编码问题。解决方案:在程序最上面加上如下代码# coding=gbk问题 2 : SyntaxError: unexpected EOF while parsing产生原因:语法问题。解决方案:检查...
新手常见6种的python报错及解决方法
1.NameError变量名错误 >>> print a Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'a' is not defined 解决方案: 先要给a赋值。才能使用它。在实际编写代码过程中,报NameError...
python常见错误及基本技巧
1.2 Python Hello World 1.2.1 执行 python 三种方式 1.2.1.1 文本模式 Python 代码 保存在文件 中,解释器对文件逐行解释执行,在终端中输入解释器名, 再输入要执行的文件名: # 使用 python 2.x 以文本模式执行 python 程序 $ python xxx.py 1.2.1.2 交互模式 直接在终端中运行解释器,而不输入要
python中关于IndentationError: expected an indented block 中不易察觉修改原代码错误的解法
IndentationError: expected an indented block 解法 一、首先,我在进行python文件和异常学习时,在分析文本练习代码运行期间第一次遇到这样一个错误(见黄色箭头指向的黄框中的内容),然后根据报错的指示(见红色箭头指向的红色框中的内容)找到原代码对应的一行(见紫色箭头指向的紫色框中的内容)。 二、然后我思考些许还是打算上网搜一下解决办法,但是呢?大部分解...
python菜鸟笔记--Python常见错误总结
使用python 有大概半年的时间了,有时候总会遇到一些很脑残的错误,下面总结以下自己在学习过程中遇到的一些问题 出现的原因及解决办法1. python常见缩进问题:     如果出现如下问题:“IndentationError:unexpected indent”         原因:缩进问题    解决办法:赶紧看自己是不是存在缩进问题     PS:英语不好是硬伤,“indent”就是缩进
python 获取你电脑纯文本文档内容!解决IndentationError: expected an indented block报错!
1,Windows+R启动:运行 2,输入:cmd 回车打开! 3,输入python(假设你已经安装过了python) 里面还会出现版本号! 4,输入代码: 注意:如果空格缩进不对,会报错的! 比如: 下面是正确的代码! #coding=utf-8 #编码方式! import re def get_word_frequencies(file_name): ...
【Python】关于递进错误indentationerror
虽然众所周知,Python里面的条件结构if与循环结构for是没有括号的{},对于是否在结构体的内的语句识别,主要利用句子前的递进关系,判断语句是否在结构体内,如果一旦出现递进不一致的问题,Python就会出现indentationerror的递进报错,这属于非程序范畴的,主要是没有好好排版的问题,但是,一些就算排好版的程序,也会出现这样情况,主要是递进的字符看起来一致,实质不一致,一个Pytho
OpenCV Python 学习笔记(五) 人脸识别
从电脑自带的摄像头(也可以是USB摄像头或者录好的视频)中识别人脸 OpenCV提供了多种分类器,有识别眼睛的,有识别身体的,有识别笑脸的,还有识别猫脸的。用Python的话一般得自己下载opencv的完整压缩包,将其中的data文件夹解压到工作目录下。 下载地址:opencv 代码:import cv2 # 告诉OpenCV使用人脸识别分类器 face_cascade = cv2.Cas
机器学习之逻辑回归(Logistic Regression)
逻辑回归是工业界使用频率最高也是最受广泛使用的一种机器学习算法,它是基于线性回归在一些分类问题上由于噪音样本的存在使拟合的直线偏离真实的太大的一种改进,将线性函数的值映射到(0,1)区间范围内,也可以完美地将这个模型和概率联系起来,下面开始介绍逻辑回归.
《机器学习实战》之K-均值聚类算法的python实现
《机器学习实战》之K-均值聚类算法的python实现最近的项目是关于“基于数据挖掘的电路故障分析”,项目基本上都是师兄们在做,我只是在研究关于项目中用到的如下几种算法:二分均值聚类、最近邻分类、基于规则的分类器以及支持向量机。基于项目的保密性(其实也没有什么保密的,但是怕以后老板看到我写的这篇博文,所以,你懂的),这里就不介绍“基于数据挖掘的电路故障分析”的思路了。废话不多说了,开始正题哈。
pycharm在运行TensorFlow时出现如下信息
pycharm提示如下信息,这是一个警告,没有什么问题,可以忽略 I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 解决方法:忽视、屏蔽警告,在代码开头输入如下指...
python 编程问题集锦
  问题一: Traceback (most recent call last):   File "alien_invasion.py", line 32, in <module>     import game_functions as  gf   File "/home/libing/Desktop/alien_invasion/game_functions.py", line...
关于vscode编写python3时,pylint不能正常使用的问题(也适用于Django2.0)
参考文件: https://www.cnblogs.com/c-night/p/8126450.html(windows10 ,ubuntu16.04) 下面是Windows版本: 使用vscode编写项目python3的时候,安装的pylint会报错 由于vscode和系统默认的python是python2,导致pylint不能正确的使用(Windows) 解决办法: 1)卸载掉py...
IDLE 64位的安装及使用时清屏问题的解决
对于新手来说,初学Python,IDLE着实是不错的编译环境。下面就聊聊IDLE简单的安装及使用。安装:登录官网下载下载安装包文件:进入Downloads->Windows,选择相关版本进行下载,一般初学用的是 executable 的:接下来就是傻瓜式的安装了,但是到最后会遇到这种情况:Disable path length limit【解除路径长度限制】:      系统默认允许处理26...
用Python玩转数据第一周学习笔记のPython基础
在慕课大学看到南京大学的张莉老师开授Pyhton课程,本文用于记录学习笔记及作业 用的IDE是python(x,y) 主要使用的是里面的Spyder,界面如下图 第一个Python程序 一、国际惯例,用Phthon写HelloWorld # -*- coding: utf-8 -*- """ Created on Thu Apr 14 15:34:41 2016
基于pycaffe从零开始写mnist(第一篇)——生成txt文件
遇到的问题: 1.F0725 23:05:55.042811  4306 common.cpp:158] Check failed: error == cudaSuccess (10 vs. 0)  invalid device ordinal *** Check failure stack trace: *** 因为我在set_device上设置为第二块gpu,但是仅仅有一块gpu
Keras 常见错误类型(持续更新)
1、Keras: Merge和merge区别、Sequencial()和Model()区别 在Keras2.2.4中,Merge已经删除,使用merge时会报错: TypeError: ‘module’ object is not callable。 参考:https://blog.csdn.net/quiet_girl/article/details/84106625 ...
python sys库读取,求助一个问题
#coding=utf-8 import sys if __name__ == "__main__": # 读取第一行的n n = int(sys.stdin.readline().strip()) ans = 0 for i in range(n): # 读取每一行 line = sys.stdin.readline().strip...
编程中的Bug
一文件读取错误 解决:file——settings——Console——Python Console——勾上add source roots to PYTHONPATH的选项框 接着在建立的工程上右键点击,选择Mark Directory as,点击Source Root即可。   二程序运行正确,没有结果输出  原因:选择的python.exe路径有问题。 解决:file——sett...
解决Ubuntu中Vim下粘贴代码发生缩进错乱,以及自带行号的问题
首先放直接复制的效果: 解决方案 1 命令模式下输入:set nonumber 关闭行号,并复制,完成以后再输入:set number 2 在需要粘贴的地方,命令行模式下输入:set paste, 然后按i进入编辑模式(这步不能少),粘贴。完成以后按Esc回到命令行模式下Set nopaste 完成效果图 ...
Python的for循环以及缩进错误
写在前面: 首先,Python和Java是不一样的,Java是有段落,类,块之分的,Java中for循环是有{ }大括号进行约束的,但是在Python中是用缩进进行区分的:也就是说在 for 循环后面,没有缩进的代码都只执行一次,而不会重复执行,只有缩进的地方才是代码块,才会重复执行。 magicians = ['alice', 'david', 'carolina'] for magician ...
Scrapy框架使用过程中可能出现的问题(更新ing)
在cmd中输入Scrapy crawl mySpider,出现错误提示: Scrapy 1.3.0 - no active project Unknown command: crawl Use “scrapy” to see available commands 根据scrapy官方文档中的解释,crawl会去搜索cmd目录下的scrapy.cfg,当前crawl的目录中没有scrapy.
Java关键字与JSON字段定义冲突:unexpected token
若是JSON中定义的字段名使用了Java中的关键字,不准许在JavaBean中定义,可以使用@SerializedName注解: @SerializedName(“switch”) private String myswitch; @SerializedName(“app_version_code”) private int versionCode; 说明:JSON字符串中的字段switch对应...
python遇到的编码错误
错误     UnicodeDecodeError: 'utf8' codec can't decode byte 0xe6 in position 0: unexpected end of data   解决方法:在字符串后面加上 .decode("utf-8")进行解码 比如:sting = “大家好!”.decode("utf-8")...
python错误记录【1】
1、SyntaxError: non-default argument follows default argument错误 这种错误原因是将没有默认值的参数在定义时放在了有默认值的参数的后面   2、IndentationError: expected an indented block 说明此处需要缩进,你只要在出现错误的那一行,按空格或Tab(但不能混用)键缩进就行。   3、I...
《python》IndentationError类的语法错误
python的代码简洁,有着非常严格的缩进问题,强制用户缩进不仅让代码排版更美观,也可以养成良好的习惯。新手刚学python,不熟练,出现的问题会经常多,缩进类的语法错误经常出现,主要还是要写代码,形成自己的Style。原因有几个: 自己粗心大意, 代码没对齐,而且这种问题很难看出来,所以要在平时养成良好的编码习惯。 混用空格键和tab键。 不熟悉编辑器的编码风格,各家各有特点。 经常要折腾半天才能
axis2 WebService的发布与调用及部分异常
转自:http://www.blogjava.net/tianchijiaozi/archive/2013/03/15/396452.html 解决按原流程操作无法进行下去的问题 准备:JDK:http://www.oracle.com/technetwork/java/javase/downloads/jdk6downloads-1902814.html eclipse:http://www.
selenium报错信息归纳总结
    鉴于我比较坑,写自动化测试脚本的时候总是会遇到各种各样的出错,报错信息有些可以看懂有些也迷迷糊糊只好上网查询,所以决定在这里开一篇博客给记录一下,遇到了出错会进行不定期更新。-------------------------------------------------------------------------------------------------------WebDri...
Python中续行符的注意事项
续行符后面不能跟空格: print( 'a'\ 'b')输出结果: ab print( 'a'\ 'b')输出结果: File "C:/Users/Administrator/untitled2.py", line 8 print( 'a'\ ^ SyntaxError: unexpected character afte
一个很无语的bug——for语句的Unexpected token
在Android中,for语句是不能像这样被单独写在外面的: 不然会出现下面这个错误(第一个红框): 正确的处理方法就是向第二个红框那样子用一个初始化方法把它封装起来。 ...
Python踩坑之路-datetime模块的timedelta应用
最近由于公司前端任务不多,所以参与下后端python的开发。发现这个挺实用的时间计算api–timedelta,感觉以后会经常用到,在此记录一下以便后续温习。业务需求上经常要算到多久时间后,如果是一两个小时,可以自己通过写判断语句,原时间加上相差的几个小时,多的就天数加一。但是如果是100个小时,100天呢?或者300天前是几月几号?这里引入datetime模块中的timedelta,构造函数dat
在执行shell脚本时,出现“syntax error : unexpected end of file"错误的解决方法
首先,这个问题很可能是由于从其他系统编写的shell脚本在Linux下运行所造成的。 如果是这个问题,那么就进行如下操作: 1.编辑文件    #vim filename(文件名) 2.进入末行模式(按esc键) 3.设置文件格式