杂项

  • xpath排除节点

    ·

    不匹配含有指定子节点的节点 e.g:不匹配子节点含有 ‘i’ 节点的 ‘p’ 节点 不匹配含有指定属性的节点 e.g:不匹配子节点含有 ‘class’ 属性的 ‘p’ 节点 排除指定节点 e.g:排除名为style的节点

    Read More

  • Jackson解析数据为空时字段类型产生变化的JSON字段

    ·

    对于PHP、Python这类动态语言编写的API接口,其返回的JSON经常有这种情况: 1、字段有数据时: 2、字段无数据时: 可以发现,tags字段有数据时其类型是个集合,而当tags字段无数据时其类型则是个数组…… 这就导致无法准确的编写用于映射数据的实体类。 为了应对这种情况,可以在注入Bean时为Jackson配置选项将为空的字符串、数组都映射为空对象(NULL)。 代码:

    Read More

  • 如何从YouTube上扒等效柱状投影的3D全景视频

    ·

    导语 这段时间接了个项目,是给WordPress编写全景视频播放插件,客户的视频来源是YouTube。 但是我发现了一个很有意思的问题: 做过全景视频的同学应该一眼就看出来这种不是常见的视频格式。 事实上,这个是谷歌最新研发的 “等角度立方体贴图 (EAC) ”,这种格式目前只有YouTube可以正常解析。 当然,YouTube也提供了常见的“等效柱状投影”的全景视频,下面看获取方法。 YouTube上等效柱状投影全景视频的获取方法 核心思想就是改变浏览器的User Agent,让YouTube识别不出你所用的浏览器,这样他就不能确定你的浏览器是否支持解析“等角度立方体贴图”格式的视频,所以会返回最普通的“等效柱状投影”的视频。这样即便是直接展示视频的原始样式而不做全景播放处理也依然可以勉强观看。 效果如下: 修改User Agent可以使用各个浏览器的插件实现,比如FireFox可以使用User-Agent Switcher插件,将UserAgent修改为curl或者为空都可以。之后就可以使用常用的扒视频工具从这个网页上提取链接下载了。

    Read More