篇三:XPath--解析Html
导语:爬虫爬取的界面,大致分为静态界面、ajax异步加载、动态界面。静态界面直接获取HTML对象,然后使用XPath获取值
最有用的路径表达式:
表达式 | 描述 |
---|---|
nodename | 选取此节点的所有子节点。 |
/ | 从根节点选取。 |
// | 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。 |
. | 选取当前节点。 |
.. | 选取当前节点的父节点。 |
@ | 选取属性。 |
一、获取HTML对象
//import us.codecraft.webmagic.selector.Html;
Html html= page.getHtml();
二、常用列举
//查询所有id=‘ne_article_source’的节点的文本值
String source=page.getHtml().xpath("//*[@id='ne_article_source']/text()").get(); //查询所有id=‘endText’下p节点的文本,查询的是列表
List<String> contextList=page.getHtml().xpath("//*[@id='endText']/p/text()").all(); //查询所有id='endText'下p包含的图片的src列表
List<String> imgurlList=page.getHtml().xpath("//*[@id='endText']/p/img/@src").all(); //查询所有id='endText'下p包含的图片对象列表
List<String> imgurlList=page.getHtml().xpath("//*[@id='endText']/p/img").all();
三、实际应用
1、直接使用浏览器调试工具,获取元素XPath
Google:http://blog.csdn.net/li6727975/article/details/46126079
FireFox:http://jingyan.baidu.com/article/0a52e3f4345772bf62ed72b1.html
360:F12-->Elements-->选中元素,右键“Copy XPath”
2、学习地址:http://www.w3school.com.cn/xpath/xpath_syntax.asp
篇三:XPath--解析Html的更多相关文章
- python爬虫之数据的三种解析方式
一.正则解析 单字符: . : 除换行以外所有字符 [] :[aoe] [a-w] 匹配集合中任意一个字符 \d :数字 [0-9] \D : 非数字 \w :数字.字母.下划线.中文 \W : 非\ ...
- xpath beautiful pyquery三种解析库
这两天看了一下python常用的三种解析库,写篇随笔,整理一下思路.太菜了,若有错误的地方,欢迎大家随时指正.......(conme on.......) 爬取网页数据一般会经过 获取信息-> ...
- (最全)Xpath、Beautiful Soup、Pyquery三种解析库解析html 功能概括
一.Xpath 解析 xpath:是一种在XMl.html文档中查找信息的语言,利用了lxml库对HTML解析获取数据. Xpath常用规则: nodename :选取此节点的所有子节点 // : ...
- 爬虫的三种解析方式(正则解析, xpath解析, bs4解析)
一 : 正则解析 : 常用正则回顾: 单字符: . : 除换行符以外的所有字符 [] : [aoe] [a-w] 匹配集合中任意一个字符 \d : 数字 [0-9] \D : 非数字 \w : 非数字 ...
- @1-4使用Xpath解析豆瓣短评
使用Xpath解析豆瓣短评 Python爬虫(入门+进阶) DC学院 本节课程主要介绍解析神器Xpath是什么.Xpath如何安装及使用,以及使用实际的例子讲解Xpath如何解析豆瓣短评的网页 ...
- 数据的查找和提取[2]——xpath解析库的使用
xpath解析库的使用 在上一节,我们介绍了正则表达式的使用,但是当我们提取数据的限制条件增多的时候,正则表达式会变的十分的复杂,出一丁点错就提取不出来东西了.但python已经为我们提供了许多用于解 ...
- JAVA通过XPath解析XML性能比较(原创)
(转载请标明原文地址) 最近在做一个小项目,使用到XML文件解析技术,通过对该技术的了解和使用,总结了以下内容. 1 XML文件解析的4种方法 通常解析XML文件有四种经典的方法.基本的解析方式有两种 ...
- 爬虫系列二(数据清洗--->xpath解析数据)
一 xpath介绍 XPath 是一门在 XML 文档中查找信息的语言.XPath 用于在 XML 文档中通过元素和属性进行导航. XPath 使用路径表达式在 XML 文档中进行导航 XPath 包 ...
- Scrapy基础(六)————Scrapy爬取伯乐在线一通过css和xpath解析文章字段
上次我们介绍了scrapy的安装和加入debug的main文件,这次重要介绍创建的爬虫的基本爬取有用信息 通过命令(这篇博文)创建了jobbole这个爬虫,并且生成了jobbole.py这个文件,又写 ...
- JAVA通过XPath解析XML性能比较
转自[http://www.cnblogs.com/mouse-coder/p/3451243.html] 最近在做一个小项目,使用到XML文件解析技术,通过对该技术的了解和使用,总结了以下内容. 1 ...
随机推荐
- Google的创新九原则(转)
原文url:http://www.365xiaoxi.com/All/News/2013-11-22/6432.html 想知道是什么让Google成为生产力与创造力的圣杯?当然不是喝山景城脚下的神水 ...
- C# 读写网上邻居中的共享文件
读写网上邻居共享的文件夹,和操作本地文件夹类似,只要有权限读取写入即可. 分为以下2步: 1.打通共享文件夹权限 2.操作文件 打通共享文件夹权限 /// <summary> /// 连接 ...
- List多个字段标识过滤 IIS发布.net core mvc web站点 ASP.NET Core 实战:构建带有版本控制的 API 接口 ASP.NET Core 实战:使用 ASP.NET Core Web API 和 Vue.js 搭建前后端分离项目 Using AutoFac
List多个字段标识过滤 class Program{ public static void Main(string[] args) { List<T> list = new List& ...
- window 环境 Composer 安装 thinkphp5
参考链接:https://www.kancloud.cn/thinkphp/thinkphp5_quickstart/478269 在 Windows 中,你需要下载并运行 Composer-Setu ...
- php model与json_encode/json_decode
常用于model的操作,看看就知道了 <?php class UserModel { var $user_id = 0; var $user_name = ''; var $user_email ...
- python标准库介绍——21 UserDict 模块详解
==UserDict 模块== ``UserDict`` 模块包含了一个可继承的字典类 (事实上是对内建字典类型的 Python 封装). [Example 2-15 #eg-2-15] 展示了一个增 ...
- jmeter 发送http请求,并把获取到的请求的订单信息保存到文件中
有一个任务,需要频繁发送订单请求,并分析订单请求中有没有存在重复订单号,思路是用jmeter 发送http请求,使用正则表达式获取到订单号,并把订单号和线程号作为参数提供给java请求,在java请求 ...
- 离线安装 Ambari Hadoop
制作本地yum源 安装步骤: 先建立本地yum源(Ambari和HDP的) 1. 先安装 ambari 然后http://localhost:8080 登录进去,设置 hdp的源链接. 2. 安装HD ...
- C++ 链接Mysql 函数介绍
通过MySQL自己的API函数进行连接 1.使用API的方式连接,需要加载mysql的头文件和lib文件.在VS2010的附加包含目录中添加\MySQL\MySQL Server 5.1\includ ...
- Android 开发之 bindService() 通信
Service 启动方式有两种 startService(intent) bindService(intent,conn,Context.BIND_AUTO_CREATE) startService( ...