请教易语言怎么提取网页返回的文本类型的 数组?

似水流年2015 12天前 8

get访问网址后,返回的数据是 类似python列表格式,但类型是文本类型,就是以下的样子,用python或js处理都比较方便。但易语言处理感觉有点麻烦。在这里我复制一下百度对这种类型的解释,叫做JavaScript Array(数组) 对象。说白了,就是网页js语法用的数组类型,返回的格式就是下面这种,不是json文本,不是json文本,不是json文本,不是json文本,不是json文本,所以不能用提取json的方法。[Asm] 纯文本查看 复制代码
[    [1, 2, 3],    [一, 二, 三, 四五啊, 啊啊职],    [        [[鞋套, 黄磊, 嵌套中], 不好处理啊]    ],    [a, b, c],    [怎么办, 想提取, ]]
用python处理的话,我是用execjs模块的eval方法,往里面传入文本型的列表,返回值就变成列表类型了,然后就能愉快的用for循环提取数据了。问题一:但用易语言的话。。。怎么处理???易语言有没有类似的转换命令,就是把文本型的列表转为多维数组,试过用易语言的js模块,不行,所以想请教一下易语言对于这种文本类型的列表 怎么才能提取数据,暂时不要正则,分割文本之类的,想试试其它方法。问题二:如果是用python处理,不想用execjs模块,只用python自带的其它命令能快速有效的提取出数据吗(同样也不用正则,分割命令)。
最新回复 (12)
  • WoShiXXX 12天前
    引用 2
    可能你发到编程语言讨论求助区能让更多人看到吧
  • 楼主 似水流年2015 12天前
    引用 3
    WoShiXXX 发表于 2020-10-8 13:02
    可能你发到编程语言讨论求助区能让更多人看到吧

    觉得悬赏才能驱动大佬们的指导
  • 我是浮夸 12天前
    引用 4
    要求太多 不让用这个不让用那个 基本 没法实现
  • 楼主 似水流年2015 12天前
    引用 5
    我是浮夸 发表于 2020-10-8 13:22
    要求太多 不让用这个不让用那个 基本 没法实现

    其实只是想有一个类似直接转换的命令或模块,把文本格式的列表,转换为易语言能直接循环提取的。。。如果用正则+分割文本,这也没必要提问了。正则的话,估计大部分思路基本都是提取中括号,按逗号分割为数组,然后按下标取需要的数据。
  • 依旧沉沉 12天前
    引用 6
    只能用JSON了,但是,你这个不是正规的JSON文本呀
  • 楼主 似水流年2015 12天前
    引用 7
    依旧沉沉 发表于 2020-10-8 13:42
    只能用JSON了,但是,你这个不是正规的JSON文本呀

    是的,这个应该不能说是json文本吧,我觉得是js里的列表,因为js语法和python语法差不多,python里的列表就是这种样子,js里的列表也是这个样子,在js或python里调用时,直接用列表名带上下标数字,就能读取了。类似读取数组  数组名[0],但换到易语言这里就行不通了。。。。。易语言的数组太弱了,不知道有没有方法转换成易语言的多维数组。
  • Menguy 12天前
    引用 8
    原数据发出来,你这不是数组也不是json
  • 楼主 似水流年2015 12天前
    引用 9
    Menguy 发表于 2020-10-8 14:10
    原数据发出来,你这不是数组也不是json
    上面示例的就是原数据格式,学过js的,应该都在网页看到过这种数据类型。说白了,返回的数据 是js语法里说的数组类型,JavaScript Array(数组) 对象,下面附上浏览器抓包到的返回文本,可以看到原数据就是这种js语法里的数组类型
  • 小非凡 11天前
    引用 10
    不能用分割,不能用正则,估计是没法取了。
    把[ ]看作是html代码的< >的话,会更好理解,
    最外层是一个[ ]
    然后数组之间是用逗号分割[ ] , [ ] , [ ] , [ ]
    数组里面的元素也是用逗号分割' ' , ' ' , ' '
    可以考虑用替换文本的方法,把格式转换成json格式,
    如果这种格式比较固定,转换成json就比较好读取,
    但是格式不固定的话,转换成json就可能读取报错,
    当然,还是不如分割文本和正则方便。
  • 北方有佳人i 11天前
    引用 11
    基本都是正则,或者取中间文本的
  • 楼主 似水流年2015 10天前
    引用 12
    北方有佳人i 发表于 2020-10-9 11:31
    基本都是正则,或者取中间文本的

    我用了最麻烦的那种。。。。易语言调用python处理提取数据,再传回易语言读取使用。
  • 楼主 似水流年2015 10天前
    引用 13
    小非凡 发表于 2020-10-9 08:39
    不能用分割,不能用正则,估计是没法取了。
    把[ ]看作是html代码的< >的话,会更好理解,
    最外层是一个[  ...

    转换成json这个不错。。。但我想不到思路。刚刚只百度到用python把JavaScript Array(数组) 对象转 json的。用易语言的话,目前想到一个思路,就是先用易语言加载已经写好的js脚本(此脚本的作用是把数组转json),易语言往加载好的js里传入文本类型数组参数,js处理完毕,返回json格式的文本。完美。或者直接用易语言,通过正则和取文本之类命令,封装成一个 专门把文本类数组  转json格式文本的模块。
  • 游客
    14
返回