微信小程序 解析网页内容详解及实例


Posted in Javascript onFebruary 22, 2017

微信小程序 解析网页内容详解

最近在写一个爬虫,需要将网页进行解析供微信小程序使用。文字和图片解析都好说,小程序也有对应的text和image标签可以呈现。而更复杂的,比如表格,则比较棘手,不管是服务端解析还是小程序呈现都很费劲,也很难覆盖所有情况。于是我想,将表格对应的HTML代码转成图片,不失为一种变通的方法。

这里我们采用node-webshot模块,它对PhantomJS进行了轻量封装,可以轻松地将网页以截图形式保存下来。

首先安装Node.js和PhantomJS,然后新建一个js文件,加载node-webshot模块:

const webshot = require('webshot');

定义选项:

const options = {
  // 浏览器窗口
  screenSize: {
    width: 755,
    height: 25
  },
  // 要截图的页面文档区域
  shotSize: {
    height: 'all'
  },
  // 网页类型
  siteType: 'html'
};

这里,浏览器窗口的宽度要根据网页情况合理设置,高度可以设置为一个很小的数值,然后页面文档区域的高度一定要设置为all,宽度默认为窗口宽度,这样就可以把表格以最小的尺寸完整截图。

接下来,定义html字符串:

let html = "target rich text html code, eg: <table>...</table>";

注意,里面的HTML代码一定要去掉换行符,并将双引号替换为单引号。

最后,截图:

webshot(html, 'demo.png', options, (err) => {
  if (err)
    console.log(`Webshot error: ${err.message}`);
});

这样,就实现了从HTML代码到本地图片的转换,后续可以上传到七牛云等。不管是服务端的解析,还是小程序的呈现,都没有什么难度了...

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
URL编码转换,escape() encodeURI() encodeURIComponent()
Dec 27 Javascript
ASP.NET中AJAX 调用实例代码
May 03 Javascript
javascript实用小函数使用介绍
Nov 11 Javascript
JavaScript中的console.trace()函数介绍
Dec 29 Javascript
jquery实现的V字形显示效果代码
Oct 27 Javascript
JavaScript判断浏览器对CSS3属性是否支持的多种方法
Nov 13 Javascript
JS获取一个表单字段中多条数据并转化为json格式
Oct 17 Javascript
JS中原始值和引用值的储存方式示例详解
Mar 23 Javascript
vue中实现左右联动的效果
Jun 22 Javascript
最适应的vue.js的form提交涉及多种插件【推荐】
Aug 27 Javascript
vue项目前端微信JSAPI与外部H5支付相关实现过程及常见问题
Apr 14 Javascript
vue backtop组件的实现完整代码
Apr 07 Vue.js
从零学习node.js之简易的网络爬虫(四)
Feb 22 #Javascript
js中document.referrer实现移动端返回上一页
Feb 22 #Javascript
基于JS实现bookstore静态页面的实例代码
Feb 22 #Javascript
angular 动态组件类型详解(四种组件类型)
Feb 22 #Javascript
javascript 使用正则test( )第一次是 true,第二次是false
Feb 22 #Javascript
JavaScript实现256色转灰度图
Feb 22 #Javascript
在javascript中,null>=0 为真,null==0却为假,null的值详解
Feb 22 #Javascript
You might like
无数据库的详细域名查询程序PHP版(2)
2006/10/09 PHP
PHP 面向对象 PHP5 中的常量
2010/05/05 PHP
smarty模板嵌套之include与fetch性能测试
2010/12/05 PHP
PHP 设置MySQL连接字符集的方法
2011/01/02 PHP
PHP 验证登陆类分享
2015/03/13 PHP
php生出随机字符串
2017/07/06 PHP
php模式设计之观察者模式应用实例分析
2019/09/25 PHP
JavaScript DOM学习第四章 getElementByTagNames
2010/02/19 Javascript
jQuery的12招常用技巧分享
2011/08/08 Javascript
js单词形式的运算符
2014/05/06 Javascript
javascript获取当前鼠标坐标的方法
2015/01/10 Javascript
jquery表单验证插件(jquery.validate.js)的3种使用方式
2015/03/28 Javascript
jquery实现漂亮的二级下拉菜单代码
2015/08/26 Javascript
JavaScript中获取纯正的undefined的方法
2016/03/06 Javascript
JavaScript实现经典排序算法之冒泡排序
2016/12/28 Javascript
webpack打包单页面如何引用的js
2017/06/07 Javascript
python爬取安居客二手房网站数据(实例讲解)
2017/10/19 Javascript
实例详解ztree在vue项目中使用并且带有搜索功能
2018/08/24 Javascript
Vue表情输入组件 微信face表情组件
2019/02/11 Javascript
vue-axios同时请求多个接口 等所有接口全部加载完成再处理操作
2020/11/09 Javascript
python django 访问静态文件出现404或500错误
2017/01/20 Python
python实现内存监控系统
2021/03/07 Python
python使用参数对嵌套字典进行取值的方法
2019/04/26 Python
Python数据可视化实现漏斗图过程图解
2020/07/20 Python
浅谈Python __init__.py的作用
2020/10/28 Python
Bootstrap File Input文件上传组件
2020/12/01 HTML / CSS
全世界最美丽的四星和五星级酒店预订:Prestigia.com
2017/11/15 全球购物
澳大利亚购买最佳炊具品牌网站:Cookware Brands
2019/02/16 全球购物
护士辞职信模板
2014/01/20 职场文书
大学理论知识学习自我鉴定
2014/04/28 职场文书
有关爱国演讲稿
2014/05/07 职场文书
高三毕业典礼演讲稿
2014/05/13 职场文书
关于护士节的演讲稿
2014/05/26 职场文书
围城读书笔记
2015/06/26 职场文书
标准版个人借条怎么写?以及什么是借条?
2019/08/28 职场文书
Java用自带的Image IO给图片添加水印
2021/06/15 Java/Android