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面向对象编程中关于类和方法的学习笔记
Jun 30 Python
Python学习小技巧之列表项的拼接
May 20 Python
Mac中Python 3环境下安装scrapy的方法教程
Oct 26 Python
使用tensorflow实现AlexNet
Nov 20 Python
Python数据结构与算法之二叉树结构定义与遍历方法详解
Dec 12 Python
Python线性方程组求解运算示例
Jan 17 Python
Python3多线程基础知识点
Feb 19 Python
Django Admin中增加导出Excel功能过程解析
Sep 04 Python
Python表达式的优先级详解
Feb 18 Python
python matplotlib库的基本使用
Sep 23 Python
pytorch实现手写数字图片识别
May 20 Python
Python 详解通过Scrapy框架实现爬取百度新冠疫情数据流程
Nov 11 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 header示例代码(推荐)
2010/09/08 PHP
php判断对象是派生自哪个类的方法
2015/06/20 PHP
PHP清除缓存的几种方法总结
2017/09/12 PHP
javascript FormatNumber函数实现方法
2008/12/30 Javascript
jquery 插件学习(一)
2012/08/06 Javascript
jQuery实现可拖动的浮动层完整代码
2013/05/27 Javascript
实测jquery data()如何存值
2013/08/18 Javascript
MyEclipse取消验证Js的两种方法
2013/11/14 Javascript
javascript面向对象之对象的深入理解
2015/01/13 Javascript
javascript结合CSS实现苹果开关按钮特效
2015/04/07 Javascript
浅谈javascript的分号的使用
2015/05/12 Javascript
JavaScript中常用的验证reg
2016/10/13 Javascript
javascript 动态生成css代码的两种方法
2017/03/17 Javascript
layui table设置某一行的字体颜色方法
2019/09/05 Javascript
Python交换变量
2008/09/06 Python
Python实现类似jQuery使用中的链式调用的示例
2016/06/16 Python
Python文件操作,open读写文件,追加文本内容实例
2016/12/14 Python
Python 模拟购物车的实例讲解
2017/09/11 Python
django上传图片并生成缩略图方法示例
2017/12/11 Python
pthon贪吃蛇游戏详细代码
2019/01/27 Python
Python Pillow.Image 图像保存和参数选择方式
2020/01/09 Python
关于ResNeXt网络的pytorch实现
2020/01/14 Python
python super用法及原理详解
2020/01/20 Python
Python中的Cookie模块如何使用
2020/06/04 Python
html5 canvas-1.canvas介绍(hello canvas)
2013/01/07 HTML / CSS
Alba Moda德国网上商店:意大利时尚女装销售
2016/11/14 全球购物
微软澳洲官方网站:Microsoft Australia
2017/01/10 全球购物
美国最好的保健品打折网店:Swanson
2017/08/04 全球购物
在C#中如何实现多态
2014/07/02 面试题
小学生家长评语集锦
2014/01/30 职场文书
菜篮子工程实施方案
2014/03/08 职场文书
总账会计岗位职责
2015/04/02 职场文书
2015年党风廉政建设工作总结
2015/04/09 职场文书
2015年新教师个人工作总结
2015/10/14 职场文书
机关干部纪律作风整顿心得体会
2016/01/23 职场文书
Javascript中async与await的捕捉错误详解
2022/03/03 Javascript