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中使用PIL库实现图片高斯模糊实例
Feb 08 Python
浅析AST抽象语法树及Python代码实现
Jun 06 Python
Python爬虫中urllib库的进阶学习
Jan 05 Python
python 不以科学计数法输出的方法
Jul 16 Python
Python面向对象之接口、抽象类与多态详解
Aug 27 Python
Centos部署django服务nginx+uwsgi的方法
Jan 02 Python
Python最小二乘法矩阵
Jan 02 Python
Python中asyncio模块的深入讲解
Jun 10 Python
详解向scrapy中的spider传递参数的几种方法(2种)
Sep 28 Python
python3 hdf5文件 遍历代码
May 19 Python
python编程简单几行代码实现视频转换Gif示例
Oct 05 Python
python标准库ElementTree处理xml
May 20 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
根德Grundig S400/S500/S700电路分析
2021/03/02 无线电
详解PHP中strlen和mb_strlen函数的区别
2014/03/07 PHP
php生成年月日下载列表的方法
2015/04/24 PHP
symfony2.4的twig中date用法分析
2016/03/18 PHP
非常经典的PHP文件上传类分享
2016/05/15 PHP
JavaScript 基础知识 被自己遗忘的
2009/10/15 Javascript
基于jquery的direction图片渐变动画效果
2010/05/24 Javascript
关于Mozilla浏览器不支持innerText的解决办法
2011/01/01 Javascript
基于jquery的使ListNav兼容中文首字拼音排序的实现代码
2011/07/10 Javascript
谈谈关于JavaScript 中的 MVC 模式
2013/04/11 Javascript
ComboBox 和 DateField 在IE下消失的解决方法
2013/08/30 Javascript
jquery链式操作的正确使用方法
2014/01/06 Javascript
学习JavaScript设计模式之责任链模式
2016/01/18 Javascript
浅谈bootstrap源码分析之scrollspy(滚动侦听)
2016/06/06 Javascript
jQuery实现级联下拉框实战(5)
2017/02/08 Javascript
Bootstrap组合上、下拉框简单实现代码
2017/03/06 Javascript
jQuery插件zTree实现单独选中根节点中第一个节点示例
2017/03/08 Javascript
js 客户端打印html 并且去掉页眉、页脚的实例
2017/11/03 Javascript
JavaScript实现删除数组重复元素的5种常用高效算法总结
2018/01/18 Javascript
vue路由事件beforeRouteLeave及组件内定时器的清除方法
2018/09/29 Javascript
vue组件数据传递、父子组件数据获取,slot,router路由功能示例
2019/03/19 Javascript
redux处理异步action解决方案
2020/03/22 Javascript
简单了解three.js 着色器材质
2020/08/03 Javascript
通过实例简单了解Python中yield的作用
2019/12/11 Python
基于Python绘制个人足迹地图
2020/06/01 Python
为什么称python为胶水语言
2020/06/16 Python
python中如何写类
2020/06/29 Python
美国知名的在线旅游服务网站:Priceline
2016/07/23 全球购物
香港交友网站:be2香港
2018/07/22 全球购物
毕业生就业自荐书
2013/12/15 职场文书
体育教育毕业生自荐信
2014/06/29 职场文书
镇政府副镇长群众路线专题民主生活会对照检查材料
2014/09/19 职场文书
百日宴上的祝酒词
2015/08/10 职场文书
教师读书活动心得体会
2016/01/14 职场文书
Pytorch 统计模型参数量的操作 param.numel()
2021/05/13 Python
python中pymysql包操作数据库方法
2022/04/19 Python