コードのこの部分は、Webページの画面に出力するためにXMLを解析します。
for counter in range(100):
try:
for item in BlekkoSearchResultsXML.getElementsByTagName('item'):
Blekko_PageTitle = item.getElementsByTagName('title')[counter].firstChild.toxml(encoding="utf-8")
Blekko_PageDesc = item.getElementsByTagName('description')[counter].firstChild.toxml(encoding="utf-8")
Blekko_DisplayURL = item.getElementsByTagName('guid')[counter].firstChild.toxml(encoding="utf-8")
Blekko_URL = item.getElementsByTagName('link')[counter].firstChild.toxml(encoding="utf-8")
print "<h2>" + Blekko_PageTitle + "</h2>"
print Blekko_PageDesc + "<br />"
print Blekko_DisplayURL + "<br />"
print Blekko_URL + "<br />"
except IndexError:
break
ただし、null XMLタグのセットが検出された場合、つまりページにページタイトルまたは説明がない場合、スクリプトは失敗し、エラーメッセージが表示されます。
AttributeError: 'NoneType' object has no attribute 'toxml'
args = ("'NoneType' object has no attribute 'toxml'",)
解析されるXMLのスニペット:
<item>
<title>SUSHI FANLISTING</title>
<link>http://sushi.perfectdrug.net/</link>
<guid>http://sushi.perfectdrug.net/</guid>
<description>This is the official...</description>
</item>
次のようなtry/exceptステートメントの使用に失敗しました。
try:
Blekko_PageTitle = item.getElementsByTagName('title')[counter].firstChild.toxml(encoding="utf-8")
except Blekko_PageTitle = None:
Blekko_PageTitle = "No page title provided..."
任意の提案をいただければ幸いです。