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 相关文章推荐
Flask SQLAlchemy一对一,一对多的使用方法实践
Feb 10 Python
实例讲解Python中的私有属性
Aug 21 Python
深入Python解释器理解Python中的字节码
Apr 01 Python
使用Python3 编写简单信用卡管理程序
Dec 21 Python
python中requests爬去网页内容出现乱码问题解决方法介绍
Oct 25 Python
python 对给定可迭代集合统计出现频率,并排序的方法
Oct 18 Python
pandas删除行删除列增加行增加列的实现
Jul 06 Python
关于pytorch处理类别不平衡的问题
Dec 31 Python
pytorch 中的重要模块化接口nn.Module的使用
Apr 02 Python
python 数据分析实现长宽格式的转换
May 18 Python
[原创]赚疯了!转手立赚800+?大佬的python「抢茅台脚本」使用教程
Jan 12 Python
windows安装python超详细图文教程
May 21 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框架Symfony2经典入门教程
2014/07/08 PHP
php绘制一个矩形的方法
2015/01/24 PHP
PHP图形计数器程序显示网站用户浏览量
2016/07/20 PHP
php 静态属性和静态方法区别详解
2017/04/09 PHP
实例讲解PHP验证邮箱是否合格
2019/01/28 PHP
实现png图片和png背景透明(支持多浏览器)的方法
2009/09/08 Javascript
JavaScript高级程序设计(第3版)学习笔记4 js运算符和操作符
2012/10/11 Javascript
js菜单点击显示或隐藏效果的简单实例
2014/01/13 Javascript
Nodejs中使用captchapng模块生成图片验证码
2017/05/18 NodeJs
解决vue 更改计算属性后select选中值不更改的问题
2018/03/02 Javascript
JS验证输入的是否是数字及保留几位小数问题
2018/05/09 Javascript
如何解决React官方脚手架不支持Less的问题(小结)
2018/09/12 Javascript
nuxt踩坑之Vuex状态树的模块方式使用详解
2019/09/06 Javascript
webpack4 配置 ssr 环境遇到“document is not defined”
2019/10/24 Javascript
vue 里面的 $forceUpdate() 强制实例重新渲染操作
2020/09/21 Javascript
python在windows下创建隐藏窗口子进程的方法
2015/06/04 Python
Python读写Json涉及到中文的处理方法
2016/09/12 Python
Python实现小数转化为百分数的格式化输出方法示例
2017/09/20 Python
python实现指定字符串补全空格、前面填充0的方法
2018/11/16 Python
Python远程视频监控程序的实例代码
2019/05/05 Python
Django框架设置cookies与获取cookies操作详解
2019/05/27 Python
python实现在函数图像上添加文字和标注的方法
2019/07/08 Python
python实现从ftp服务器下载文件
2020/03/03 Python
Python无损压缩图片的示例代码
2020/08/06 Python
Html5如何唤起百度地图App的方法
2019/01/27 HTML / CSS
数字漫画:comiXology
2020/06/13 全球购物
JAVA程序员面试题
2012/10/03 面试题
WSDL的操作类型主要有几种
2013/07/19 面试题
办公室助理岗位职责
2013/12/25 职场文书
青年创业培训欢迎词
2014/01/08 职场文书
2014年高三毕业生自我评价
2014/01/11 职场文书
大学毕业自我鉴定范文
2014/02/03 职场文书
学习标兵获奖感言
2014/02/20 职场文书
实习协议书范本
2014/09/25 职场文书
未婚证明范本
2015/06/15 职场文书
浅析Redis Sentinel 与 Redis Cluster
2021/06/24 Redis