我目前正在处理一段似乎适用于多个网站的代码,但是当再次运行下面的网站时,我得到了错误。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