2016-04-26 76 views
1

我正在python中构建一个webcrawler。它正在爬行新闻网站。但是当我得到这个错误:TabError:在缩进中使用制表符和空格不一致。它在我的脚本中是在第28行。我无法弄清楚如何解决它。Python错误我正在做的完全正确,但我得到了一个错误

import requests 
    from lxml import html 
    import time 
    from colorama import * 

    def crawl(): 
     URL = "http://www.svt.se/nyheter/" 
     host = "http://www.svt.se" 
     blankHTML = requests.get(URL) 
     tree = html.fromstring(blankHTML.text) 
     Nyheter = tree.xpath('//span[@class="nyh_teaser__heading-title"]/text()') 
     beskrivning = tree.xpath('//span[@class="nyh_teaser__text"]/text()') 
     link = tree.xpath('//a[@class="nyh_teaser__link"]/@href') 
     link_list = [] 
     newsnumber = 0 
     numbersOfNews = 0 
     for numb in range(1,10): 
      print(Fore.GREEN + "Titel: " + Nyheter[newsnumber]) 
      print(Fore.YELLOW + "Beskrivning: " + beskrivning[newsnumber]) 
      print(link[newsnumber]) 
      link_list.append(link) 
      newsnumber += 1 
     choice1 = input("<News> ").lower() 
     while True: 
      if choicel == 1: 
       URL = host + link_list[0] 
       blankHTMLS = requests.get(URL) 
       treek = html.fromstring(blankHTMLS.text) 
       wholeNew = treek.xpath('//div[@class="nyh_article__body]/p/text()') 
       print(wholeNew) 






    crawl() 
+0

建议将所有标签('\ t')转换为四个空格('')。 – mdurant

+0

我不太明白你的意思,你可以尝试用另一种方式来解释它吗? – Hagge15

+0

您应该将您的编辑器设置为使用4个空格而不是制表符。他们中的大多数人都有这样的设置。你使用哪一个? – Igor

回答

0

您的错误是由于缩进混合了制表符和空格而导致的。当您在此处粘贴您的代码示例时,它们会丢失,因此我无法重现此问题。您可以使用但是you can't mix them in the same code block。你可以尝试打开你的Python文件,如​​和启用View > Show Symbol > Show White Spaces and TAB

我还注意到一些可能会让你感到沮丧的其他错误。你有一个无限循环,所以你的程序永远不会完成。你也创建一个名为choice1的变量,但稍后将其称为choicel,这将导致错误。

+0

好吧,我会我,我会下载记事本++ – Hagge15

+0

你不必。你可以[在Sublime中查看制表符和空格字符](http://stackoverflow.com/questions/10153998/sublime-text-2-view-whitespace-characters)。 – Igor

+0

我是linux我无法下载 – Hagge15

相关问题