現在、いくつかの Web サイトで動作しているように見えるコードに取り組んでいますが、以下の Web サイトを再度実行するとエラーが発生します。IndexError: リスト インデックスが範囲外です。最初は xpath が無効でしたが、xpath をさらに調査した結果、正しいことがわかりました。私の唯一の他のことは、ウェブサイトにアクセスするブラウザをシミュレートするために、ブラウザのユーザーエージェントなどを提供する必要があるかもしれないということです。
ここに失敗するコードのセクションがあります
def safeweb(host):
print "[*] Launching Norton Safeweb plugin against " + host
url = 'http://safeweb.norton.com/report/show?url=' + host
r = requests.get(url)
html = r.text
#print html
parser = etree.HTMLParser()
tree = etree.parse(StringIO.StringIO(html), parser)
#reporting starts here
summary = tree.xpath("//*[@id='siteSummary']/table/tbody/tr[1]/td[2]/div/div[1]/div[2]/div")
#print len(summary)
print "[*] Summary: " + summary[0].text