2017-08-22 39 views
0

我想知道如何找出我的文档的开头<html>标签是否具有Python中的特定关键字。我使用urllib和lxml作为这个应用程序的另一部分,所以我试图用它来实现它。找出<html>是否包含关键字

我现在所拥有的:

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 

我想要做的就是返回true或false如果开<html>标签包含放大器关键字,像这样<html lang="en" amp>

眼下它似乎打印html标签的全部内容,而不仅仅是属性。我如何使这更具体?

+0

检查'tree.attrib';你不需要'xpath'查找,因为'html'应该已经是根元素了。 – tzaman

+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() 
相关问题