zoukankan      html  css  js  c++  java
  • 爬虫练习:Xpath基本使用

    # -*- coding: utf-8 -*-
    # @Time : 2020/9/15 22:27
    # @Author : aqiong
    # @Site : 
    # @File : Xpath练习.py
    # @Software: PyCharm
    from lxml import etree
    if __name__ == '__main__':
        #实例化好了一个etree对象,且将解析的源码加载到该对象中
    ######如果是网页解析###############
        #page_text = requests.get(url=url,headers = headers).text
    
        #数据解析
        #tree=etree.HTML(page_text)
    ######如果是网页解析###############
        tree = etree.parse('./test.html')#加载本地
        # r=tree.xpath('/html/head/title')#/html表示从根目录html开始
        #r=tree.xpath('/html/body/div')#返回的是list形式
        #r = tree.xpath('/html//div')#//表示多个层级
        #r = tree.xpath('//div')#//表示从任意位置开始定位
        #r=tree.xpath('//div[@class="song"]')#属性定位,tag[@atrrName="atrrValue"]
        #r = tree.xpath('//div[@class="song"]/p[3]')#索引定位,获得class=song的div下面直系属性p,且是第三个p的内容
    
        # 取文本text,/text获得是直系文本,//text获得标签中非直系的文本内容(即这个标签下面的所有内容)
        #r=tree.xpath('//div[@class="tang"]/ul/li[5]/a/text()')[0]
        #r = tree.xpath('//div[@class="tang"]/ul/li[7]//text()')
        #r = tree.xpath('//div[@class="tang"]//text()')
    
        r=tree.xpath('//div[@class="song"]/img/@src')#取属性/@atrrName
        print(r)
    
  • 相关阅读:
    Nginx快速自查手册
    python——常见排序算法解析
    config、option、setting辨析
    python——append与extend
    crm——stark组件核心原理
    码,码,码不停!
    python——设计模式
    CCI_chapter 4 trees and Grapths
    题目1509:树中两个结点的最低公共祖先
    CCI_chapter 3 Stacks and Queues
  • 原文地址:https://www.cnblogs.com/aqiong/p/13690222.html
Copyright © 2011-2022 走看看