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
提案を高く評価しました。このコードはあまりにも長い間見てきました。