弄清楚是否包含关键字

时间:2017-08-22 16:17:21

标签: python urllib

我正在试图找出如何找出我的文档的开头<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标签的全部内容,而不仅仅是属性。我如何使这更具体?

1 个答案:

答案 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()