1分钟快速生成用于网页内容提取的xslt


Posted in Python onFebruary 23, 2018

1分钟快速生成用于网页内容提取的xslt,具体内容如下

1、项目背景

在《Python即时网络爬虫项目说明》一文我们说过要做一个通用的网络爬虫,而且能节省程序员大半的时间,而焦点问题就是提取器使用的抓取规则需要快速生成。在python使用xslt提取网页数据一文,我们已经看到这个提取规则是xslt程序,在示例程序中,直接把一长段xslt赋值给变量,但是没有讲这一段xslt是怎么来的。

网友必然会质疑:这个xslt这么长,编写不是要花很长时间?

实际情况是,这个xslt是通过GooSeeker的MS谋数台的直观标注功能自动生成的,熟练的话1分钟就搞定了。

2、MS谋数台能做什么

MS谋数台有个图形化界面,把一系列html解析工具集成在一起,包括:

  • 基于直观标注自动生成XSLT
  • 即时测试XSLT的正确性
  • 树状的DOM结构展示
  • 剖析某个DOM节点的属性
  • 为DOM节点生成XPath,可选择定位到class、或者id、或者绝对定位
  • 根据xpath搜索DOM节点

MS谋数台界面分成三部分:DOM数窗口、内嵌浏览器窗口、工作台。在工作台上定义xslt转换规则。

3、用MS谋数台生成XSLT

假设我们要抓取论坛帖子列表,下面一步步讲解操作方法:
第一步,打开GooSeeker的MS谋数台,输入要抓取的网址
第二步,在MS谋数台的浏览器显示窗口里,直接选取要提取的内容,并且起个名字,点击确认

1分钟快速生成用于网页内容提取的xslt

第三步,点击工作台的“测试”按钮,xslt就生成了,在“数据规则”窗口显示出来

1分钟快速生成用于网页内容提取的xslt

通过以上的操作,不用编程,用图形化界面直接在页面上标注,1分钟就可以生成xslt

4、怎样使用XSLT

在python使用xslt提取网页数据一文,我们把生成xslt作为一个字符串交给程序,给人感觉好像一下子回到了史前文明,前面讲的那么好,最后用了很原始的拷贝。其实不然,那个只是一个例子。在《python即时网络爬虫项目: 内容提取器的定义》一文已经初见端倪了,有多种注入xslt的方式,最自动化的方式是api,将在后续文章中详细讲解。

5、文档修改历史

2016-05-28:V3.0,增加第二章
2016-05-26:V2.0,增补文字说明

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python生成器的使用方法
Nov 21 Python
Python实现动态添加类的属性或成员函数的解决方法
Jul 16 Python
PYTHON压平嵌套列表的简单实现
Jun 08 Python
Python数据结构与算法之字典树实现方法示例
Dec 13 Python
Python求解任意闭区间的所有素数
Jun 10 Python
Python闭包函数定义与用法分析
Jul 20 Python
深入了解和应用Python 装饰器 @decorator
Apr 02 Python
pandas基于时间序列的固定时间间隔求均值的方法
Jul 04 Python
python分布式计算dispy的使用详解
Dec 22 Python
PYcharm 激活方法(推荐)
Mar 23 Python
django ListView的使用 ListView中获取url中的参数值方式
Mar 27 Python
神经网络训练采用gpu设置的方式
Mar 03 Python
python使用xslt提取网页数据的方法
Feb 23 #Python
Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容
Feb 23 #Python
python爬虫获取多页天涯帖子
Feb 23 #Python
Python即时网络爬虫项目启动说明详解
Feb 23 #Python
Python爬豆瓣电影实例
Feb 23 #Python
Python抓取聚划算商品分析页面获取商品信息并以XML格式保存到本地
Feb 23 #Python
Python各类图像库的图片读写方式总结(推荐)
Feb 23 #Python
You might like
腾讯QQ php程序员面试题目整理
2010/06/08 PHP
php比较两个绝对时间的大小
2014/01/31 PHP
php调用nginx的mod_zip模块打包ZIP文件
2014/06/11 PHP
ThinkPHP 3.2 数据分页代码分享
2014/10/14 PHP
php微信开发之图片回复功能
2018/06/14 PHP
laravel框架 api自定义全局异常处理方法
2019/10/11 PHP
JQuery jsonp 使用示例代码
2009/08/12 Javascript
JQuery入门——事件切换之toggle()方法应用介绍
2013/02/05 Javascript
Jquery实现页面加载时弹出对话框代码
2013/04/19 Javascript
js闭包所用的场合以及优缺点分析
2015/06/22 Javascript
jQuery处理XML文件的几种方法
2016/06/14 Javascript
js html5 css俄罗斯方块游戏再现
2016/10/17 Javascript
vue.js的提示组件
2017/03/02 Javascript
js实现字符全排列算法的简单方法
2017/05/01 Javascript
JavaScript实现form表单的多文件上传
2020/03/27 Javascript
vue组件初学_弹射小球(实例讲解)
2017/09/06 Javascript
微信小程序自定义导航栏实例代码
2019/04/05 Javascript
如何解决js函数防抖、节流出现的问题
2019/06/17 Javascript
微信小程序 扭蛋抽奖机css3动画实现详解
2019/07/19 Javascript
vue通过v-html指令渲染的富文本无法修改样式的解决方案
2020/05/20 Javascript
jQuery+ajax实现用户登录验证
2020/09/13 jQuery
浅谈Python的Django框架中的缓存控制
2015/07/24 Python
Python中几种属性访问的区别与用法详解
2018/10/10 Python
Python如何实现大型数组运算(使用NumPy)
2020/07/24 Python
关于python3.9安装wordcloud出错的问题及解决办法
2020/11/02 Python
python3代码输出嵌套式对象实例详解
2020/12/03 Python
CSS3教程(9):设置RGB颜色
2009/04/02 HTML / CSS
Casadei卡萨蒂官网:意大利奢侈鞋履品牌
2017/10/28 全球购物
List, Set, Map是否继承自Collection接口?
2016/05/16 面试题
MYSQL支持事务吗
2013/08/09 面试题
工程力学专业自荐信范文
2014/03/17 职场文书
《生命的药方》教学反思
2014/04/08 职场文书
自动化专业毕业生求职信
2014/06/18 职场文书
小学生我的梦想演讲稿
2014/08/21 职场文书
2014年实习生工作总结
2014/11/27 职场文书
公司催款律师函
2015/05/27 职场文书