爬虫练习: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)
原文地址:https://www.cnblogs.com/aqiong/p/13690222.html