我正在python中构建一个webcrawler。它正在抓取一个新闻网站。但是当我收到此错误时:TabError:在缩进中使用制表符和空格不一致。在我的剧本中它在第28行。我无法弄清楚如何解决它。
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 :(得分:0)
您的错误可能是由缩进标签和空格混合引起的。当您在此处粘贴代码示例时,它们会丢失,因此我无法重现该问题。您可以使用you can't mix them in the same code block之一。您可以尝试使用Notepad++和View > Show Symbol > Show White Spaces and TAB
启用python文件。
我还注意到其他一些可能会让你失望的错误。你有一个无限循环,所以你的程序永远不会完成。您还要创建一个名为choice1
的变量,但稍后将其称为choicel
,这将导致错误。