python简单使用xpath查找网页元素

from lxml import html

def parse():
    """"将html文件中的内容,使用小path进行提取"""
    #读取文件中的内容
    f = open(‘./venv/static_/index.html‘,‘r‘,encoding = ‘utf-8‘)
    s = f.read()

    selector = html.fromstring(s)
    #j解析标题
    h3 = selector.xpath(‘/html/body/h3/text()‘)
    print(h3[0])#这里取到的是个list,我用使用列表获取
    f.close()

    #解析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])

    #解析tr里面的内容
    # tr = selector.xpath(‘/html/body/form/table/tr/td/text()‘)
    # print(tr)

    #解析ul指定的元素值
    ul2 = selector.xpath(‘/html/body/ul/li[@class="important"]/text()‘)
    print(ul2)

    #解析ul指定的元素属性
    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/text()‘)
    # p = selector.xpath(‘/html/body/p[last()]/text()‘) #获取最后一个
    print(len(p))
    print(p[0])

    #使用浏览的xpath生成工具
    test = selector.xpath(‘/html/body/form/table/tr[1]/th/text()‘)#只能借鉴/html/body/form/table/tbody/tr[1]/th
    print(test[0])

if __name__== ‘__main__‘:
    parse()

原文地址:https://www.cnblogs.com/zsjlovewm/p/11106458.html

时间: 2024-10-09 22:34:16

python简单使用xpath查找网页元素的相关文章

Python + Selenium(三)网页元素定位(二)id 定位

了解了开发者工具和 HTML 结构 后,接下来,就来看看在 Python + Selenium 中如何查找元素了. 查找元素,是 WebDriver 中的核心部分之一.WebDriver提供了八种定位方法,方法如下: 定位方式 方法 说明 id find_element_by_id() 使用 id 属性定位 name find_element_by_name() 使用 name 属性定位 class_name find_element_by_class_name() 使用 class 属性定位

Python + Selenium(二)网页元素定位(一)

元素定位是 WebDriver 很重要的部分,特别对于自动化测试来说. 要想操作元素,首先必须要找到元素. 我们做自动化测试,就是需要通过模拟手工对元素的操作来实现自动化.脚本无法做到指哪打哪,不能像手工操作那样鼠标移过去点一下就行,毕竟代码没有自我辨别能力. 开发者工具 开发者工具是浏览器自带的网页调试工具,其中最好用的要数谷歌浏览器(Chrome)和火狐浏览器(Firefox).一般通过 F12 快捷键就可以打开.通过此工具可以查看网页元素来寻找可以定位的方法. 首先,我们打开百度首页(ht

一、python简单爬取静态网页

一.简单爬虫框架 简单爬虫框架由四个部分组成:URL管理器.网页下载器.网页解析器.调度器,还有应用这一部分,应用主要是NLP配合相关业务. 它的基本逻辑是这样的:给定一个要访问的URL,获取这个html及内容(也可以获取head和cookie等其它信息),获取html中的某一类链接,如a标签的href属性.从这些链接中继续访问相应的html页面,然后获取这些html的固定标签的内容,并把这些内容保存下来. 一些前提::所有要爬取的页面,它们的标签格式都是相同的,可以写一个网页解析器去获取相应的

查找网页元素并且输出到固定文件

import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.PrintWriter; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.js

2016/7/13 23:39:43 xPath 分析网页元素

1. 采用QQ浏览器 , 当前以获取qiushibaike里面的内容以及好笑,评论数为例 选择需要抓取的内容,然后右键检查  会出现一个调试界面,在 elements 里面选择需要抓取的信息,右键 copy - copy XPath 3. 接下来 可以到 console 界面调试一下抓取的信息(妹的,这么强悍) 使用 $x('XPath') 可以抓到相关信息 4. 相应的我们可以得到相关Xpath 1.内容 //*[@id="qiushi_tag_116975883"]/div[2]

HDOJ2025_查找最大元素

一道简单题 HDOJ2025_查找最大元素 #include<stdio.h> #include<stdlib.h> #include<ctype.h> #include<math.h> #include<iostream> #include<string> using namespace std; int main() { string str=""; int i,j,n; char ipt[100]; int

用XPath查找HTML节点或元素

虽然JQ和JS都能很方便的查找包含了ID及类名的元素,但某些情况下,我们需要查找一些不包含类名.ID的元素或节点,就需要XPath来帮忙了. XPath虽然是被设计用来搜寻XML文档的,不过它也能很好的在HTML文档中工作,并且大部分浏览器也支持通过XPath来查询节点. XPath既然叫Path,就是以路径的形式来指定元素.关于XPath的语法,这里不多赘述,请自行查询相关资料. XPath的查询函数,在IE中与其他浏览器(Chrome.Firefox.Opear等)是不一样的,所以如果你的网

使用Selenium对网页元素进行定位的诸种方法

使用Selenium进行自动化操作,首先要做的就是通过webdriver的get()方法打开一个URL链接. 在打开链接,完成页面加载之后,就可以通过Selenium提供的接口,在页面上进行各种操作了,下面我们来了解一下如何在查找元素. 3.1 查找和定位网页元素 在上一篇的示例中,我们就演示了如何通过find_element_by_id()方法,根据元素的id值来定位页面元素. 除了根据元素的id值来查找元素外,Selenium还提供了很多查找元素的方法: 从上图中可以看到,Selenium提

Python selenium根据class定位页面元素

在日常的网页源码中,我们基于元素的id去定位是最万无一失的,id在单个页面中是不会重复的.但是实际工作中,很多前端开发人员并未给每个元素都编写id属性.通常一段html代码如下: 1 <div class="sui-tips s-isindex-wrap sui-tips-exceedtipnews" style="display: none; width: auto;"><div class="sui-tips-arrow"