python爬虫-08-python爬虫使用xpath准确定位到页面中的某个内容
Posted 公号运维家
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python爬虫-08-python爬虫使用xpath准确定位到页面中的某个内容相关的知识,希望对你有一定的参考价值。
当我们爬取网页的时候,里面的数据是杂乱的,我们实际上只需要对应页面中的某些内容,那么我们如何将其筛选出来呢?我们使用xpath就可以准确的采集到我们需要的数据,从而摒弃那些对我们“无用”的数据。
1、安装xpath
推荐主流浏览器:Google
浏览器
点击Google
浏览器的扩展程序,然后再点击左上角的三个横杠,在弹出的页面中点击左下角的打开Chrome网上应用商店,如下图所示:
然后在里面搜索XPath Helper,如下图所示:
点击右边的安装即可,我这里是因为安装过,所以显示的是从Chrome中删除;
安装完毕之后的效果如下,在浏览器右上角点击之后,界面如下(如果你安装完成之后,点击XPath Helper
按钮没反应,刷新下页面即可,再次重开浏览器就不会有这样的问题):
左边我们输入XPath
语法之后,右边框就会显示出来具体筛选出来的数据。
2、Xpath语法
(1)选取节点
表达式 | 描述 | 示例 | 结果 |
nodename | 选取此节点的所有子节点 | bookstore | 选取bookstore下所有的子节点 |
/ | 如果是在最前面,代表从根节点选取。否则选择某节点下的某个节点 | /bookstore | 选取根元素下所有的bookstore节点 |
// | 从全局节点中选择节点,随便在哪个位置 | //book | 从全局节点中找到所有的book节点 |
@ | 选取某个节点的属性 | //book[@price] | 选择所有拥有price属性的book节点 |
. | 当前节点 | ./a | 选取当前节点下的a标签 |
(2)谓语
路径表达式 | 描述 |
/bookstore/book[1] | 选取bookstore下的第一个子元素 |
/bookstore/book[last()] | 选取bookstore下的倒数第二个book元素。 |
bookstore/book[position()<3] | 选取bookstore下前面两个子元素。 |
//book[@price] | 选取拥有price属性的book元素 |
//book[@price=10] | 选取所有属性price等于10的book元素 |
(3)通配符
通配符 | 描述 | 示例 | 结果 |
* | 匹配任意节点 | /bookstore/* | 选取bookstore下的所有子元素。 |
@* | 匹配节点中的任何属性 | //book[@*] | 选取所有带有属性的book元素。 |
(4)多个路径选取
//bookstore/book | //book/title
# 选取所有book元素以及book元素下所有的title元素
(5)使用方法
咋看懂呢,如果说一个页面返回了很多内容,一点点去从上往下翻看也是比较麻烦的,其实我们可以使用浏览器快速定位到具体的XPath
值,如下图:
(5.1)选中
浏览器访问到具体页面之后,右击选择检查,弹出如下界面;
然后点击如下框中的内容:
(5.2)复制
然后我们就会发现会跳到具体的html
代码中,这个时候我们右击复制--复制Xpath,这个时候我们就获取到了我们想筛选出来的数据的具体XPath
路径了;
比如我这里复制出来的值如下:
//*[@id="js_content"]/section[1]/blockquote[1]/p
我们可以使用浏览器中我们安装的Xpath Helper
检查下,截图如下:
至此,本文结束,更多相关内容,每日更新。
更多内容请转至VX公众号 “运维家” ,获取最新文章。
------ “运维家” ------
------ “运维家” ------
------ “运维家” ------
linux卸载硬盘,win7共享linux,linuxgdal安装,Linux7忘记密码,linux怎么进入文件的子目录,高通开源代码linux,linuxusr大小,重启服务器的linux命令,linux的jdk怎么安装啊;
linuxtar文件打不开,linux常用状态检测,linux成功开机界面,linux七种文件,linux命令,Linux+删除数据的命令,linux自动监听重启服务器,如何快速担任linux运维,Linux返回到波浪线,linux大数据架构搭建。
以上是关于python爬虫-08-python爬虫使用xpath准确定位到页面中的某个内容的主要内容,如果未能解决你的问题,请参考以下文章
爬虫学习 08.Python网络爬虫之图片懒加载技术selenium和PhantomJS