栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

爬虫从入门到入预(9)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

爬虫从入门到入预(9)

今天的状态不是很好哦,但是今天学的是xpath解析,好在不是很难,就还行可以接受!xpath解析涉及到一些html和xml的相关知识。也不是很难,记得我第一次做毕业设计的时候看xml慢慢就看懂了。这里需要导入lxml包,我们所需要的xpath在lxml->etree->xpath内。

#xpath是xml文档中搜索内容的一门语言
#html是xml的一个子集
from lxml import etree

从网上随便扒了一段html的代码,然后写进自己创建的html文件中,记得设定编码方式“utf-8

html="""
            
                
                
                
                
                
                
                
                EasyDL定制化模型
                
                
                
                
                
            
        
            """
with open("easydl.html",mode="w",encoding="utf-8") as f:
    f.write(html)
    f.close()

接下来是xpath解析的重头戏:

把我们设置的html字符串写成etree类型,如果是xml类型的字符串,就用etree.xml。

tree=etree.HTML(html)

接下来的代码段有点乱,今天的状态不算太好。

#①"/"表示层级关系、第一个/表示根节点
#②text()表示拿文本
#③“//”表示后代,在所有后代中寻找
#④"*"表示任意节点,通配符
#③,④不同的点在于,三是在所有的后代中进行搜索,而四是使用一个通配符表示直接后代,类似于占位符
#result=tree.xpath("/html/head//title/text()")
#xpath的顺序是从1开始的,[],表示索引
#result=tree.xpath("/html//link[1]")
#[@]可以通过这种形式通过确定标签的属性来找到需求内容
#result=tree.xpath("/html//link[@rel='preload']")


# head_link_list=tree.xpath("/html//link")
# for link in head_link_list:
#     result=link.xpath("./@href")#./表示相对路径,我们已经进入到了link内部,不能再用/,否则回到html。@属性,可以拿到属性值

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/755761.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号