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中的浅复制与深复制
Jul 02 Python
Python实现TCP协议下的端口映射功能的脚本程序示例
Jun 14 Python
Python基础教程之浅拷贝和深拷贝实例详解
Jul 15 Python
Python实现在某个数组中查找一个值的算法示例
Jun 27 Python
Python实现常见的回文字符串算法
Nov 14 Python
Django框架model模型对象验证实现方法分析
Oct 02 Python
python实现淘宝购物系统
Oct 25 Python
通过实例解析python创建进程常用方法
Jun 19 Python
Pytorch mask-rcnn 实现细节分享
Jun 24 Python
python爬虫爬取某网站视频的示例代码
Feb 20 Python
python Protobuf定义消息类型知识点讲解
Mar 02 Python
python套接字socket通信
Apr 01 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
本地机apache配置基于域名的虚拟主机详解
2013/08/10 PHP
非常好用的Zend Framework分页类
2014/06/25 PHP
php生成验证码函数
2015/10/20 PHP
php生成Android客户端扫描可登录的二维码
2016/05/13 PHP
PHP学习笔记之php文件操作
2016/06/03 PHP
php-beanstalkd消息队列类实例分享
2017/07/19 PHP
教你如何解密js/vbs/vbscript加密的编码异处理小结
2008/06/25 Javascript
Javascript 构造函数 实例分析
2008/11/26 Javascript
Extjs 几个方法的讨论
2010/01/28 Javascript
初学js 新节点的创建 删除 的步骤
2011/07/04 Javascript
JS下拉框内容左右移动效果的具体实现
2013/07/10 Javascript
jQuery中RadioButtonList的功能及用法实例介绍
2013/08/23 Javascript
利用JS来控制键盘的上下左右键(示例代码)
2013/12/14 Javascript
js实现鼠标点击左上角滑动菜单效果代码
2015/09/06 Javascript
快速学习AngularJs HTTP响应拦截器
2015/12/31 Javascript
悬浮广告方法日常收集整理
2016/03/18 Javascript
JavaScript 不支持 indexof 该如何解决
2016/03/30 Javascript
AngularJS 遇到的小坑与技巧小结
2016/06/07 Javascript
js在HTML的三种引用方式详解
2020/08/29 Javascript
原生JS实现音乐播放器
2021/01/26 Javascript
python实现udp数据报传输的方法
2014/09/26 Python
Python中使用Tkinter模块创建GUI程序实例
2015/01/14 Python
Python中内建函数的简单用法说明
2016/05/05 Python
Python实现二分查找与bisect模块详解
2017/01/13 Python
mac 上配置Pycharm连接远程服务器并实现使用远程服务器Python解释器的方法
2020/03/19 Python
Python 合并拼接字符串的方法
2020/07/28 Python
浅谈css3中calc在less编译时被计算的解决办法
2017/12/04 HTML / CSS
Brother加拿大官网:打印机、贴标机、缝纫机
2019/10/09 全球购物
会计专业大学生求职信范文
2014/01/28 职场文书
募捐倡议书怎么写
2014/05/14 职场文书
2014领导班子四风剖析对照检查材料思想汇报
2014/09/20 职场文书
《我爱祖国》演讲稿1000字
2014/09/26 职场文书
学校运动会广播稿
2014/10/11 职场文书
2014年化验室工作总结
2014/11/21 职场文书
杜甫草堂导游词
2015/02/03 职场文书
研究生毕业登记表的自我鉴定范文
2019/07/15 职场文书