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 03 Python
Mac中Python 3环境下安装scrapy的方法教程
Oct 26 Python
django用户注册、登录、注销和用户扩展的示例
Mar 19 Python
python爬取网页转换为PDF文件
Jun 07 Python
对Python3之方法的覆盖与super函数详解
Jun 26 Python
解决Django migrate不能发现app.models的表问题
Aug 31 Python
python爬取王者荣耀全皮肤的简单实现代码
Jan 31 Python
python生成13位或16位时间戳以及反向解析时间戳的实例
Mar 03 Python
django实现模板中的字符串文字和自动转义
Mar 31 Python
Python3 webservice接口测试代码详解
Jun 23 Python
Python-split()函数实例用法讲解
Dec 18 Python
python中re模块知识点总结
Jan 17 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自动提交表单的方法(基于fsockopen与curl)
2016/05/09 PHP
thinkphp验证码的实现(form、ajax实现验证)
2016/07/28 PHP
Laravel源码解析之路由的使用和示例详解
2018/09/27 PHP
ThinkPHP框架实现FTP图片上传功能示例
2019/04/08 PHP
PHP扩展类型及安装方式解析
2020/04/27 PHP
JS 常用校验函数
2009/03/26 Javascript
javascript学习笔记(十四) window对象使用介绍
2012/06/20 Javascript
深入理解javascript构造函数和原型对象
2014/09/23 Javascript
浅谈JavaScript 框架分类
2014/11/10 Javascript
javascript拖拽应用实例
2016/03/25 Javascript
Jquery $when done then的用法详解
2016/05/20 Javascript
jQuery验证插件validate使用方法详解
2020/09/13 Javascript
jquery计算出left和top,让一个div水平垂直居中的简单实例
2016/07/13 Javascript
js微信扫描二维码登录网站技术原理
2016/12/01 Javascript
详解vue-cli项目中用json-sever搭建mock服务器
2017/11/02 Javascript
mui框架 页面无法滚动的解决方法(推荐)
2018/01/25 Javascript
vue中$refs的用法及作用详解
2018/04/24 Javascript
在vue中实现点击选择框阻止弹出层消失的方法
2018/09/15 Javascript
layui监听下拉选框选中值变化的方法(包含监听普通下拉选框)
2019/09/24 Javascript
[46:43]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第三局
2016/02/28 DOTA
[01:51]DAC趣味视频-如何成为职业选手.mp4
2017/04/02 DOTA
python开发的小球完全弹性碰撞游戏代码
2013/10/15 Python
python3生成随机数实例
2014/10/20 Python
初步探究Python程序的执行原理
2015/04/11 Python
使用Python装饰器在Django框架下去除冗余代码的教程
2015/04/16 Python
Python中使用Counter进行字典创建以及key数量统计的方法
2018/07/06 Python
Python3内置模块之json编解码方法小结【推荐】
2020/12/09 Python
Python新手学习装饰器
2020/06/04 Python
ALLSAINTS英国官网:伦敦新锐潮流品牌
2016/09/19 全球购物
英国Boots旗下太阳镜网站:Boots Designer Sunglasses
2018/07/07 全球购物
英国领先的游戏零售商:GAME
2019/09/24 全球购物
五月的鲜花活动方案
2014/08/21 职场文书
党的群众路线教育实践活动制度建设计划方案
2014/10/31 职场文书
Python+Tkinter打造签名设计工具
2022/04/01 Python
Java后端 Dubbo retries 超时重试机制的解决方案
2022/04/14 Java/Android
Windows和Linux上部署Golang并运行程序
2022/04/22 Servers