MENU▼

iH5免商业套餐数据库导出

iH5的数据库导出功能需要收费的,而且要16980元/年,这个对于个人或小公司来说,还是挺大一笔数目的。
所以我另类的想了个办法导出,此插件目前仅支持3.0。


接口API
我的工作台里可以查看案例,点击案例的查看数据可以查看案例的数据库列表及数据信息,我F12发现了以下的请求接口:

  • 数据库列表[https://www.ih5.cn/app/db-result/list] type=post nid=案例ID 将会得到数据库列表名及各个数据库链接
  • 数据库信息列表[https://www.ih5.cn/db-result/0000000/db_5bf126a359aa4f74f44a0301?page=0]主域名后的既是上面接口得到的数据库链接后面的参数是数据表信息页码

实现方法

想要请求并重复获取到数据,而且不能跨域获取,就想到了做一个chrome扩展插件。

我在平台原有的导出界面做了调整,替换了选择数据库列表的确定按钮。

  1. 点击导出按钮获取iframe的链接来获取案例ID
  2. 利用获得的案例ID请求获得数据库列表及链接
  3. 点击确定按钮来判断及匹配选择的数据库
  4. 利用获得的数据表列表信息里的总页数来进行请求循环
  5. 请求递归把获得的数据表信息里的表格拼接
  6. JS请求导出xls文件

参考:实现Excel文件
参考:实现下载
插件:SheetJS 出品的 js-xlsx


实现效果
目前已实现效果,但比较慢,看本地网速和机器配置,4000条数据100页时大概需要10s左右的时间。
开源地址:IH5_DataBase_Export

注:该插件仅用于研究,切勿用于商业用途,后果概不负责!如有需求请联系iH5购买导出权限!

请为这篇文章评分:
( 这篇文章尚未评分 )