海安零距离 海安论坛 海安新闻 海安

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2239|回复: 0

python网络爬虫之解析网页的XPath(爬取Path职位信息)[三]

[复制链接]

6234

主题

6234

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
18718
发表于 2019-12-27 13:28 | 显示全部楼层 |阅读模式
目次
            
    @(目次)
媒介

本章同样是剖析网页,不外使用的剖析技能为XPath。
相对于之前的BeautifulSoup,我感觉还行,也是一个比力常用的一种剖析方式

而且更加的符合我们之前的一个逻辑头脑,不外看环境吧,看各位准备怎么用吧。
XPath的使用方法

同样的先下载lxml插件,而且导入里面的etree

[code]"""XPath的学习"""from lxml import etree# 案例文件html_doc = """    <ul>        <li class="item-0">baidu        <li class="item-1 one" name="first">myblog        <li class="item-1 two" name="first">myblog2        <li class="item-2">csdn        <li class="item-3">bbb        <li class="aaa">aaa"""html = etree.HTML(html_doc)# 1、获取全部li下的全部a标签print(html.xpath("//li/a"))#2、获取指定的li标签item-0print(html.xpath("//li[@class=&#39;item-0&#39;]"))#3、获取指定的li标签item-0下面的a标签print(html.xpath("//li[@class=&#39;item-0&#39;]/a"))#4、获取指定的li标签item-0下面的a标签里面的内容print(html.xpath("//li[@class=&#39;item-0&#39;]/a/text()"))# 高级进阶用法# 1、匹配属性以什么类型开头的class(starts-with())print(html.xpath("//li[starts-with(@class,&#39;item-&#39;)]"))# 2、匹配里面全部类似的item-1,(contains())print(html.xpath("//li[contains(@class,&#39;item-1&#39;)]"))# 3、多属性的匹配(and)print(html.xpath("//li[contains(@class,&#39;one&#39;) and contains(@name,&#39;first&#39;)]/a/text()"))# 4、按次序来排序# 第2个print(html.xpath("//li[2]/a/text()"))# 末了一个print(html.xpath("//li[last()]/a/text()"))# 末了一个-1个print(html.xpath("//li[last()-1]/a/text()"))# 小于便是3的序号liprint(html.xpath("//li[position()

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|深圳论坛-深圳人的网上家园  

GMT+8, 2020-10-1 23:45 , Processed in 0.139180 second(s), 30 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表