Python正在拆分超出范围的字符串索引

Python正在拆分超出范围的字符串索引,python,html-parsing,Python,Html Parsing,我正在尝试拆分以下标记: <h3><a href="#AC Adapter" onclick="getProductsBasedOnCategoryID('Asus','AC Adapter','ET1611PUT','6941', this, 'E Series')">AC Adapter </a></h3> 但是,我得到以下错误: File "//CPSBS/RedirectedFolders/aysha/My Do

我正在尝试拆分以下标记:

<h3><a href="#AC Adapter" onclick="getProductsBasedOnCategoryID('Asus','AC Adapter','ET1611PUT','6941', this, 'E Series')">AC Adapter

            </a></h3>
但是,我得到以下错误:

File "//CPSBS/RedirectedFolders/aysha/My Documents/asus_tables(edited) a tags.py", line 84, in <module>
    atag = literal_eval('(' + atag.nextSibling.replace(', this', '').split('(', 1)[1])
IndexError: list index out of range

当你面对这些类型的问题时,你不能马上看到问题是什么,那么你需要将复杂的表达式分解。而不是:

atag = literal_eval('(' + atag.nextSibling.replace(', this', '').split('(', 1)[1])
将其重写为(当然,您应该使用更有意义的变量名):


这将得到问题所在的精确表达式,并且所涉及的值的打印语句将为您提供答案。

当您面临这些类型的问题,并且无法立即看到问题所在时,则需要将复杂表达式拆分。而不是:

atag = literal_eval('(' + atag.nextSibling.replace(', this', '').split('(', 1)[1])
将其重写为(当然,您应该使用更有意义的变量名):


这将为您提供问题所在的确切表达式,并且相关值的打印语句将为您提供答案。

我们不显示错误,因为我们可能可以运行代码,为什么不将该求值分成多行,检查从
拆分中返回的内容。如果你先尝试一下,可能会有帮助。或者至少发布您在执行此操作后得到的结果。与其让我们显示错误,因为我们可能可以运行代码,不如将评估分为多行,检查从
拆分中返回的内容。如果你先尝试一下,可能会有帮助。或者至少发布你完成后得到的信息。它不打印任何内容:/i在上面编辑了我的帖子,并添加了html导航树的一个片段LIT不打印任何内容:/i在上面编辑了我的帖子,并添加了html导航树的一个片段
atag = literal_eval('(' + atag.nextSibling.replace(', this', '').split('(', 1)[1])
nextSibling = atag.nextSibling
txt1 = nextSibling.replace(', this', '')
split = txt1.split('(', 1)
txt2 = split[1]
txt3 = '(' + txt2
atag = literal_eval(txt3)