Как написано выше, печать выполняется в цикле for Result in..
.Если у вас есть несколько результатов, вы получите несколько строк с одинаковым содержимым.
Кроме того, try
не должен иметь отступ? (это было исправлено)
Редактировать: из информации, которую мы собрали, вам нужно увеличить этот счетчик во внутреннем цикле.То, как вы это написали (for counter1 in range(50)
), будет увеличивать его во внешнем цикле.
Попробуйте это (обратите внимание на изменения идентификаторов):
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