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与PHP的实现版(推荐)
May 11 Python
Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能示例
Aug 31 Python
通过Pandas读取大文件的实例
Jun 07 Python
Numpy中矩阵matrix读取一列的方法及数组和矩阵的相互转换实例
Jul 02 Python
python实现机器学习之元线性回归
Sep 06 Python
python实现socket+threading处理多连接的方法
Jul 23 Python
python实现代码统计器
Sep 19 Python
详解基于python的多张不同宽高图片拼接成大图
Sep 26 Python
Python 实现自动导入缺失的库
Oct 29 Python
python实现双色球随机选号
Jan 01 Python
python使用for...else跳出双层嵌套循环的方法实例
May 17 Python
详解python百行有效代码实现汉诺塔小游戏(简约版)
Oct 30 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 防止单引号,双引号在接受页面转义
2008/07/10 PHP
PHP对象克隆clone用法示例
2016/09/28 PHP
phpmailer绑定邮箱的实现方法
2016/12/01 PHP
thinkphp jquery实现图片上传和预览效果
2020/07/22 PHP
php+mysql+ajax实现单表多字段多关键词查询的方法
2017/04/15 PHP
Yii2框架中一些折磨人的坑
2019/12/15 PHP
jQuery ui1.7 dialog只能弹出一次问题
2009/08/27 Javascript
JQUERY获取form表单值的代码
2010/07/17 Javascript
用于deeplink的js方法(判断手机是否安装app)
2014/04/02 Javascript
2014年50个程序员最适用的免费JQuery插件
2014/12/15 Javascript
Node.js实现批量去除BOM文件头
2014/12/20 Javascript
基于JavaScript实现 网页切出 网站title变化代码
2016/04/03 Javascript
EasyUI Datebox 日期验证之开始日期小于结束时间
2017/05/19 Javascript
Vue 项目部署到服务器的问题解决方法
2017/12/05 Javascript
vue2.0模拟锚点的实例
2018/03/14 Javascript
Angular7.2.7路由使用初体验
2019/03/01 Javascript
js中console在一行内打印字符串和对象的方法
2019/09/10 Javascript
JS实现躲避粒子小游戏
2020/06/18 Javascript
如何在Vue中使localStorage具有响应式(思想实验)
2020/07/14 Javascript
在antd4.0中Form使用initialValue操作
2020/11/02 Javascript
[05:00]第二届DOTA2亚洲邀请赛主赛事第三天比赛集锦.mp4
2017/04/04 DOTA
Python中的多行注释文档编写风格汇总
2016/06/16 Python
dataframe设置两个条件取值的实例
2018/04/12 Python
python中多个装饰器的调用顺序详解
2019/07/16 Python
python 将dicom图片转换成jpg图片的实例
2020/01/13 Python
Django视图、传参和forms验证操作
2020/07/15 Python
详解Django中异步任务之django-celery
2020/11/05 Python
详解tf.device()指定tensorflow运行的GPU或CPU设备实现
2021/02/20 Python
欧洲当代手工玻璃和瓷器的领先品牌:LSA International
2018/06/03 全球购物
法警的竞聘演讲稿
2014/01/02 职场文书
电子商务自荐书范文
2014/01/04 职场文书
《放小鸟》教学反思
2014/04/20 职场文书
学习计划是什么
2019/04/30 职场文书
2020优秀员工演讲稿(三篇)
2019/10/17 职场文书
Python破解极验滑动验证码详细步骤
2021/05/21 Python
VUE解决跨域问题Access to XMLHttpRequest at
2022/05/06 Vue.js