网页表格转JSON

目录

        最近有个业务需求把网页不规则的表格转成json数据,因为网上没有这一类的数据提取只能自己写了,xpath一个个解析太麻烦了,代码冗余且可以说是一个表格就要写一个解析规则,两个字 ” 麻烦 !“ ,给大家分享一下需要的自取。

        由于没考虑太多的特殊情况,只把基本的不规则表格解析了,同层级-同行的归属key也没有写,看下图,     如 “十孙子”  与  “大孙子”  我的代码没有将其归纳进大儿子 

演示表格一

        正常数据应该是下图所示,然而我代码无法解析上图表格,由于我过于懒惰就没有写了,各位需要的话可以在我的代码上进行修改,该好了记得发我一份,想白嫖!

var ddd = {
    "太爷爷":{
        "大儿子":{
            "大孙子":{
                "曾孙子1":"1岁"
                },
            "十孙子":{
                "曾孙子2":"2岁"
                }
            }
        }
    }

        我能正常解析的表格如下图,各位可以去对一对数据。

演示表格二

{
    '草帽团情况': {
        '船长': '厨师',
        '路飞': '山治',
        '航海士': '剑士',
        '娜美': '索隆',
        '船医': '乔巴'
    },
    '乔巴': [{
        '身高': '出生地',
        '90cm(人兽型)': '磁鼓王国',
        '身份': '悬赏金',
        '草帽一伙、船医': '50贝里-100贝利'
    },
    {
        '身高': '恶魔果实',
        '90cm(人兽型)': '动物系人人果实',
        '身份': '喜欢的食物',
        '草帽一伙、船医': '棉花糖等所有甜食'
    },
    {
        '身高': '讨厌的食物',
        '90cm(人兽型)': '所有辣味食物(因为不甜)',
        '身份': '恩人',
        '草帽一伙、船医': '希鲁鲁克'
    }],
    '罗罗诺亚·索隆': {
        '身高': '178cm-181cm',
        '悬赏金': '3亿2000万贝利',
        '职务': '剑士',
        '霸气': '武装色霸气、见闻色霸气',
        '性别': '男',
        '挚友': '古伊娜'
    },
    '蒙奇·D·路飞': [{
        '船名': '类型',
        '黄金梅利号': '海贼',
        '团队': '梦想',
        '草帽团': '海贼王'
    },
    {
        '船名': '身高',
        '黄金梅利号': '172cm-174cm',
        '团队': '恶魔果实',
        '草帽团': '橡胶果实'
    },
    {
        '别名': '草帽小子、第五位海上皇帝、路西(德雷斯罗萨篇)、路飞太郎(和之国篇)、路飞之海(和之国篇,相扑)'
    },
    {
        '介绍': '路飞性格积极乐观,爱憎分明,宁死不屈,十分重视伙伴与朋友,对任何危险的事物都超感兴趣。和其他传统的海贼所不同的是,他并不会为了追求财富而杀戮,而是享受着身为海贼的冒险和自由。'
    },
    {
        '船名': '故乡',
        '黄金梅利号': '东海-哥亚王国-风车村',
        '团队': '悬赏金',
        '草帽团': '15亿贝利'
    },
    {
        '船名': '生日',
        '黄金梅利号': '',
        '团队': '喜欢的岛屿',
        '草帽团': '有肉的岛屿'
    },
    {
        '船名': '喜欢的季节',
        '黄金梅利号': '夏季',
        '团队': '外文名',
        '草帽团': ''
    },
    {
        '船名': '讨厌的食物',
        '黄金梅利号': '加雅岛上的樱桃派',
        '团队': '爷爷',
        '草帽团': '蒙奇·D·卡普'
    },
    {
        '船名': '义兄',
        '黄金梅利号': '波特卡斯·D·艾斯',
        '团队': '父亲',
        '草帽团': '蒙奇·D·龙'
    },
    {
        '养母': '卡利·达旦'
    }],
    '性别': '女',
    '身高': '169cm-170cm',
    '喜欢的东西': '橘子、金钱',
    '三围': '98/58/88cm',
    '悬赏金': '1600万-6600万贝利',
    '出身': '欧伊科特王国→东海·可可亚西村',
    '巴基': {
        '别名': '小丑巴基、千两道化、小丑之王'
    },
    '布鲁克': {
        '别名': '鼻歌、灵魂之王、尸体男爵'
    },
    '妮可·罗宾': {
        '别名': '恶魔之子',
        '悬赏金': '1亿3000贝利'
    }
}

下图表格也能解析成JSON 

演示表格三

{'白胡子团': {'妹子': {'姓名': '怀迪贝', '别名': '冰之魔女', '性别': '女', '悬赏金': '未知'}, '队长': '波特卡斯·D·艾斯', '霸气': '身份'}, '又是草帽团情况': {'前期加入的': {'钢琴家': '布鲁克', '考古学家': '罗宾'}, '船长': '狙击手', '路飞': '乌索普', '冤种副手': '舵手', '索隆': '甚平'}, '航海指针': {'永久指针': '其他指针', '有': '有', '保管在': '保管在', '娜美手上': '娜美手上'}, '草帽团情况': [{'厨师': '剑士', '山治': '索隆'}, {'厨师': '船医', '山治': '乔巴'}, {'厨师': '航海士', '山治': '娜美'}], '草帽团船长': {'姓名': '路飞'}, '又是草帽团': {'船长': '路飞', '舵手': '甚平'}, '船匠': {'姓名': '弗兰奇'}, '没了': '没了没了没了'}

代码是用Python写的,各位需要的话去自取链接在下面,麻烦帮我点点star。感谢!不定期分享一些代码和逆向思路。

        未经允许禁止转载!!!!!!

GitHub - MRzaipy/MyScrapy: 我的一些代码的分享我的一些代码的分享. Contribute to MRzaipy/MyScrapy development by creating an account on GitHub.icon-default.png?t=N7T8https://github.com/MRzaipy/MyScrapy

  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值