Get JSON string from within javascript on a html page using shell script

后端 未结 2 835
刺人心
刺人心 2021-01-24 07:13

There\'s valid json in a javascript on a html page that I want to parse with a shell script. First of all I would like to get the entire json string from { to

2条回答
  •  北荒
    北荒 (楼主)
    2021-01-24 08:07

    One option might be to use pup, at least for parsing the HTML:

    < input.html pup 'script:not(:empty) text{}' |
      grep foo.bar.Processor.message | grep -o '{.*}' |
      jq -r '.head.url
             | split(";")[]
             | select(test("barid="))
             | sub("barid=";"")'
    

    With your HTML (adjusted to ensure the JSON in the HTML is valid), this produces:

    347EDAFA2B136D7825745B0A490DE32
    

    Of course there are many caveats. YMMV.

提交回复
热议问题