pythoncgi脚本(使用XML和mindom)不打印循环计数器
尝试使用API打印Yahoo搜索结果时,For循环计数器不会打印其递增值。XML被解析并打印,但计数器反复打印“1” 同样的代码也适用于Bing APIpythoncgi脚本(使用XML和mindom)不打印循环计数器,python,xml,minidom,Python,Xml,Minidom,尝试使用API打印Yahoo搜索结果时,For循环计数器不会打印其递增值。XML被解析并打印,但计数器反复打印“1” 同样的代码也适用于Bing API for counter1 in range(50): try: for Result in YahooSearchResultsXML.getElementsByTagName('Result'): try: Yahoo_PageTitle = Result.get
for counter1 in range(50):
try:
for Result in YahooSearchResultsXML.getElementsByTagName('Result'):
try:
Yahoo_PageTitle = Result.getElementsByTagName('Title')[counter1].firstChild.toxml(encoding="utf-8")
except AttributeError:
Yahoo_PageTitle = "Sorry, no page title provided..."
try:
Yahoo_PageDesc = Result.getElementsByTagName('Summary')[counter1].firstChild.toxml(encoding="utf-8")
except AttributeError:
Yahoo_PageDesc = "Sorry, no page description provided..."
Yahoo_DisplayURL = Result.getElementsByTagName('DisplayUrl')[counter1].firstChild.toxml(encoding="utf-8")
Yahoo_URL = Result.getElementsByTagName('ClickUrl')[counter1].firstChild.toxml(encoding="utf-8")
## Print the output to ensure it's working.
print counter1+1
print "<br />"
print "<h2>" + Yahoo_PageTitle + "</h2>"
print Yahoo_PageDesc + "<br />"
print Yahoo_DisplayURL + "<br />"
print Yahoo_URL + "<br />"
print "<p> ----------------------------------------------------------------------------------------------------------------- </p>"
except IndexError:
print "Exiting@IndexError handler"
break
Yahoo_Score = counter1 + 1
范围(50)内计数器1的:
尝试:
对于YahooSearchResultsXML.getElementsByTagName(“结果”)中的结果:
尝试:
Yahoo_PageTitle=Result.getElementsByTagName('Title')[counter1].firstChild.toxml(encoding=“utf-8”)
除属性错误外:
Yahoo_PageTitle=“对不起,没有提供页面标题…”
尝试:
Yahoo_PageDesc=Result.getElementsByTagName('Summary')[counter1].firstChild.toxml(encoding=“utf-8”)
除属性错误外:
Yahoo_PageDesc=“对不起,没有提供页面说明…”
Yahoo_DisplayURL=Result.getElementsByTagName('DisplayURL')[counter1].firstChild.toxml(encoding=“utf-8”)
Yahoo_URL=Result.getElementsByTagName('ClickUrl')[counter1].firstChild.toxml(encoding=“utf-8”)
##打印输出以确保其正常工作。
打印计数器1+1
打印“
”
打印“”+雅虎页面标题+“”
打印Yahoo_PageDesc+“
”
打印Yahoo_DisplayURL+“
”
打印雅虎URL+“
”
打印“---------------------------------------------------------------------------------------”
除索引器外:
“打印”Exiting@IndexError处理程序”
打破
雅虎积分=1+1
感谢您的建议,我们已经花了太长时间研究此代码。如上所述,打印在
for Result in..
循环中。如果您有多个结果,您将得到具有相同内容的多行
另外,try
不应该缩进?(这是固定的)
编辑:根据我们收集的信息,您需要增加内部循环中的计数器。您编写它的方式(用于范围(50)内的计数器1
)将在外循环中递增它
尝试以下方法(注意识别更改):
计数器1=0
尝试:
对于YahooSearchResultsXML.getElementsByTagName(“结果”)中的结果:
尝试:
Yahoo_PageTitle=Result.getElementsByTagName('Title')[counter1].firstChild.toxml(encoding=“utf-8”)
除属性错误外:
Yahoo_PageTitle=“对不起,没有提供页面标题…”
尝试:
Yahoo_PageDesc=Result.getElementsByTagName('Summary')[counter1].firstChild.toxml(encoding=“utf-8”)
除属性错误外:
Yahoo_PageDesc=“对不起,没有提供页面说明…”
Yahoo_DisplayURL=Result.getElementsByTagName('DisplayURL')[counter1].firstChild.toxml(encoding=“utf-8”)
Yahoo_URL=Result.getElementsByTagName('ClickUrl')[counter1].firstChild.toxml(encoding=“utf-8”)
##打印输出以确保其正常工作。
打印计数器1+1
计数器1+=1
打印“
”
打印“”+雅虎页面标题+“”
打印Yahoo_PageDesc+“
”
打印Yahoo_DisplayURL+“
”
打印雅虎URL+“
”
打印“---------------------------------------------------------------------------------------”
除索引器外:
“打印”Exiting@IndexError处理程序”
打破
雅虎积分=1+1
如上所述,打印在for Result in..
循环中。如果您有多个结果,您将得到具有相同内容的多行
另外,try
不应该缩进?(这是固定的)
编辑:根据我们收集的信息,您需要增加内部循环中的计数器。您编写它的方式(用于范围(50)内的计数器1
)将在外循环中递增它
尝试以下方法(注意识别更改):
计数器1=0
尝试:
对于YahooSearchResultsXML.getElementsByTagName(“结果”)中的结果:
尝试:
Yahoo_PageTitle=Result.getElementsByTagName('Title')[counter1].firstChild.toxml(encoding=“utf-8”)
除属性错误外:
Yahoo_PageTitle=“对不起,没有提供页面标题…”
尝试:
Yahoo_PageDesc=Result.getElementsByTagName('Summary')[counter1].firstChild.toxml(encoding=“utf-8”)
除属性错误外:
Yahoo_PageDesc=“对不起,没有提供页面说明…”
Yahoo_DisplayURL=Result.getElementsByTagName('DisplayURL')[counter1].firstChild.toxml(encoding=“utf-8”)
Yahoo_URL=Result.getElementsByTagName('ClickUrl')[counter1].firstChild.toxml(encoding=“utf-8”)
##打印输出以确保其正常工作。
打印计数器1+1
计数器1+=1
打印“
”
打印“”+雅虎页面标题+“”
打印Yahoo_PageDesc+“
”
打印Yahoo_DisplayURL+“
”
打印雅虎URL+“
”
打印“---------------------------------------------------------------------------------------”
除索引器外:
“打印”Exiting@IndexError处理程序”
打破
雅虎积分=1+1
您确定每个结果中有超过1个标题
/摘要
/显示URL
/单击URL
?当计数器的值达到1时,如果XML中某处没有第二个Title
/etc元素,您将跳转到索引器
处理程序并跳出循环 您确定您有多个标题
/摘要
/显示URL吗
counter1 = 0
try:
for Result in YahooSearchResultsXML.getElementsByTagName('Result'):
try:
Yahoo_PageTitle = Result.getElementsByTagName('Title')[counter1].firstChild.toxml(encoding="utf-8")
except AttributeError:
Yahoo_PageTitle = "Sorry, no page title provided..."
try:
Yahoo_PageDesc = Result.getElementsByTagName('Summary')[counter1].firstChild.toxml(encoding="utf-8")
except AttributeError:
Yahoo_PageDesc = "Sorry, no page description provided..."
Yahoo_DisplayURL = Result.getElementsByTagName('DisplayUrl')[counter1].firstChild.toxml(encoding="utf-8")
Yahoo_URL = Result.getElementsByTagName('ClickUrl')[counter1].firstChild.toxml(encoding="utf-8")
## Print the output to ensure it's working.
print counter1+1
counter1 += 1
print "<br />"
print "<h2>" + Yahoo_PageTitle + "</h2>"
print Yahoo_PageDesc + "<br />"
print Yahoo_DisplayURL + "<br />"
print Yahoo_URL + "<br />"
print "<p> ----------------------------------------------------------------------------------------------------------------- </p>"
except IndexError:
print "Exiting@IndexError handler"
break
Yahoo_Score = counter1 + 1