python xpath提取转码

编程入门 行业动态 更新时间:2024-10-21 06:30:21

<a href=https://www.elefans.com/category/jswz/34/1770869.html style=python xpath提取转码"/>

python xpath提取转码

#-*- coding:utf-8 -*-

from lxml importetree

html= """

我的文档
  • NO.1
  • NO.2
  • NO.3
  • one
  • two

jd

360buy

"""selector=etree.HTML(html)############ example 1 #############这里使用id属性来定位哪个div和ul被匹配 使用text()获取文本内容#这里注意要层层匹配#content = selector.xpath('//div[@id="cctv"]/div[@class="content"]/ul[@id="ul"]/li/text()')#content = selector.xpath('//div[@id="cctv"]/div[@class="content"]/ul[@id="ul2"]/li/span[@class="ctv"]/text()')

content = selector.xpath('//a/@href')for i incontent:print(i)print(u"************ 华丽分割符1 ************")############ example 2 #############使用绝对路径定位a标签的title

con = selector.xpath('/html/body/div/a/@title')#使用相对路径定位 两者效果是一样的

con = selector.xpath('//a/@title')print(len(con))print(con[0], con[1])print(u"************ 华丽分割符2 ************")############ example 3 #############starts-with 解决标签属性值以相同字符串开头的情况

con2 = selector.xpath('//span[starts-with(@class,"c")]/text()') #这里使用starts-with方法提取div的id标签属性值开头为a的div标签

for i incon2:print(i)print(u"************ 华丽分割符3 ************")#string(.) 标签套标签

html2 = '''

left

right

up

down

east

west

'''

#下面是没有用string方法的输出

selector2 =etree.HTML(html2)

con3= selector2.xpath('//div[@id="a"]/text()')for i incon3:print(i)print(u"************ 华丽分割符4 ************")#下面使用string方法的输出

data = selector2.xpath('//div[@id="a"]')#info = data[0].xpath('string(.)').extract()[0]

info = data[0].xpath('string(.)')

con4= info.replace('\n', '').replace(' ', '')for i incon4:#python 输出结果默认是\n,换行,将结尾替换掉即可实现不换行。

print(i, end='')print("\r")print(u"************ 华丽分割符5 ************")############ example 4 ############

html3 = """

hello

H

hehe """selector3=etree.HTML(html3)#使用text()的方法来判别是哪个div标签

con5 = selector3.xpath('//div[text()="hehe"]/text()')print(con5[0])print(u"************ 华丽分割符6 ************")############ example 5 ############

html4 = """

hello

H

J

I

hehe """selector4=etree.HTML(html4)#在XPath中可以使用多重过滤方法寻找标签,例如ul[3][@id=”a”] 这里使用【3】来寻找第三个ul标签 并且它的id属性值为a

con6 = selector4.xpath('//div/p[position()>=2]/text()')for i incon6:print(i)print(u"************ 华丽分割符7 ************")

更多推荐

python xpath提取转码

本文发布于:2024-03-08 19:11:22,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1721980.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:python   xpath

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!