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)
    
  • 相关阅读:
    Redis 字符串(String)
    Redis 哈希(Hash)
    Redis 键(key)
    Redis 命令
    Redis 数据类型
    Redis 配置
    Log4j 2X 日志文件路径问题
    shiro项目从 log4j1X 迁移到 log4j2X
    shiro+SpringMVC 项目 配置404页面
    邮件发送-》http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256
  • 原文地址:https://www.cnblogs.com/aqiong/p/13690222.html
Copyright © 2011-2022 走看看