Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
pythoncgi脚本(使用XML和mindom)不打印循环计数器_Python_Xml_Minidom - Fatal编程技术网

pythoncgi脚本(使用XML和mindom)不打印循环计数器

pythoncgi脚本(使用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

尝试使用API打印Yahoo搜索结果时,For循环计数器不会打印其递增值。XML被解析并打印,但计数器反复打印“1”

同样的代码也适用于Bing API

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