我正在试图找出如何找出我的文档的开头<html>
标记是否具有Python的特定关键字。我正在为这个应用程序的另一部分使用urllib和lxml,所以我试图用它实现它。
我现在拥有的:
from urllib import urlopen
from lxml import etree
def get_amp_path(url):
document = urlopen(url).read()
tree = etree.HTML(document)
html = tree.xpath('//html')
for tag in html:
print etree.tostring(tag)
return
如果开场<html>
标记包含amp关键字,我想要做的是返回true或false,如<html lang="en" amp>
现在它似乎打印了html标签的全部内容,而不仅仅是属性。我如何使这更具体?
答案 0 :(得分:0)
etree.tostring()
只打印节点的内容,在根级别将是整个HTML。您可以检查元素上的.attrib
以查看完整属性字典,或使用.keys()
获取密钥列表。
此外,由于html
应该已经是根元素,因此您不需要进行xpath
查找。
这样的事情应该有用,假设你只是想知道它是否存在:
def html_has_amp(url):
doc = urlopen(url).read()
tree = etree.HTML(doc)
return 'amp' in tree.keys()