美文网首页
2019-05-29 2-3 xpath及html基础知识

2019-05-29 2-3 xpath及html基础知识

作者: 年画儿 | 来源:发表于2019-05-29 22:13 被阅读0次

    目前看到2-5

    xPath:
    1.一种HTML和XML的查询语言,他能在XML和HTML的树状结构中寻找节点
    2.安装 pip install lxml

    屏幕快照 2019-05-29 下午9.38.39.png

    超文本,不仅仅是文本
    url 唯一对应

    css就是样式


    屏幕快照 2019-05-29 下午9.46.18.png 屏幕快照 2019-05-29 下午9.50.16.png

    单斜杠是根路径开始匹配
    双斜杠是随便哪里开始匹配

    #使用xpath
    from lxml import html
    
    
    def parse():
        """ 将html文件中的内容,使用xpath进行提取 """
        # 读取文件中的内容
        f = open('./static/index.html', 'r', encoding='utf-8')
        s = f.read()
    
        selector = html.fromstring(s)
        # 解析H3标题
        h3 = selector.xpath('/html/body/h3/text()')
        print(h3[0]) #[0]是为了数组的切割
    
    
        # 解析ul下面的内容
        # ul = selector.xpath('/html/body/ul/li')
        ul = selector.xpath('//ul/li')
        print(len(ul))
        for li in ul:
            print(li.xpath('text()')[0])
    
        # 解析ul指定的元素值
        ul2 = selector.xpath('/html/body/ul/li[@class="important"]/text()')
        print(ul2)
    
        # 解析a标签的内容
        a = selector.xpath('//div[@id="container"]/a/text()')
        # 标签内的内容
        print(a[0])
        # href属性
        alink = selector.xpath('//div[@id="container"]/a/@href')
        print(alink[0])
    
        # 解析P标签
        p = selector.xpath('/html/body/p[last()]/text()')
        print(len(p))
        print(p[0])
    
        test = selector.xpath('/html/body/ul/li[3]/text()')
        print(test[0])
    
        f.close()
    
    
    
    if __name__ == '__main__':
        parse()
    

    偷懒的方法 直接右键检查元素。复制xpath

    相关文章

      网友评论

          本文标题:2019-05-29 2-3 xpath及html基础知识

          本文链接:https://www.haomeiwen.com/subject/jtgutctx.html