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实现同时给多个变量赋值的方法
Apr 30 Python
Python中random模块用法实例分析
May 19 Python
深入解析Python中的list列表及其切片和迭代操作
Mar 13 Python
Python制作钉钉加密/解密工具
Dec 07 Python
Python+matplotlib实现填充螺旋实例
Jan 15 Python
python2.7到3.x迁移指南
Feb 01 Python
浅谈配置OpenCV3 + Python3的简易方法(macOS)
Apr 02 Python
python 获取一个值在某个区间的指定倍数的值方法
Nov 12 Python
python文件读写代码实例
Oct 21 Python
pandas数据拼接的实现示例
Apr 16 Python
django Layui界面点击弹出对话框并请求逻辑生成分页的动态表格实例
May 12 Python
Python调用系统命令os.system()和os.popen()的实现
Dec 31 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
PHP删除特定数组内容并且重建数组索引的方法.
2011/03/25 PHP
php处理json时中文问题的解决方法
2011/04/12 PHP
PHP+Ajax异步通讯实现用户名邮箱验证是否已注册( 2种方法实现)
2011/12/28 PHP
解决phpcms更换javascript的幻灯片代码调用图片问题
2014/12/26 PHP
PHP发送AT指令实例代码
2016/05/26 PHP
javascript表单验证 - Parsley.js使用和配置
2013/01/25 Javascript
关于JS字符串函数String.replace()
2013/04/07 Javascript
一个简单的瀑布流效果(主体形式自写)
2013/05/27 Javascript
JavaScript中instanceof与typeof运算符的用法及区别详细解析
2013/11/19 Javascript
js获取当月最后一天实例代码
2013/11/19 Javascript
解析JavaScript中instanceof对于不同的构造器或许都返回true
2013/12/03 Javascript
javascript数组去重方法汇总
2015/04/23 Javascript
JS实现alert中显示换行的方法
2015/12/17 Javascript
AngularJS模块学习之Anchor Scroll
2016/01/19 Javascript
JavaScript的模块化开发框架Sea.js上手指南
2016/05/12 Javascript
浅谈javascript运算符——条件,逗号,赋值,()和void运算符
2016/07/15 Javascript
AngularJS 过滤器(自带和自建)详解
2016/09/19 Javascript
bootstrap提示标签、提示框实现代码
2016/12/28 Javascript
jQuery 防止相同的事件快速重复触发方法
2018/02/08 jQuery
仿vue-cli搭建属于自己的脚手架的方法步骤
2019/04/17 Javascript
详解vue 图片上传功能
2019/04/30 Javascript
python模拟登录百度代码分享(获取百度贴吧等级)
2013/12/27 Python
python flask实现分页效果
2017/06/27 Python
阿里云ECS服务器部署django的方法
2019/08/29 Python
Python实现获取当前目录下文件名代码详解
2020/03/10 Python
Python reques接口测试框架实现代码
2020/07/28 Python
Python中的None与 NULL(即空字符)的区别详解
2020/09/24 Python
Clos19英国:高档香槟、葡萄酒和烈酒在线购物平台
2020/07/10 全球购物
总经理岗位职责
2013/11/09 职场文书
高级技校毕业生自荐信
2013/11/18 职场文书
教师的实习鉴定
2013/12/15 职场文书
幼儿园保教管理制度
2014/02/03 职场文书
家长会学生演讲稿
2014/04/26 职场文书
中学感恩教育活动总结
2015/05/05 职场文书
2016年五一国际劳动节活动总结
2016/04/06 职场文书
《狼王梦》读后感:可怜天下父母心
2019/11/01 职场文书