In case you want to give it a go then here is a working example:
This sequence will give you a list of all wallpapers:
And in Developer tools it looks like: (I forgot to give it a name first)
And from that sensor you should be able to take {{sensor.state}} ~ {{ sensor.attributes.images |random}}
[{"id":"1236609655bb0e7e","type":"inject","z":"90cf9b8a.ce14c8","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":780,"y":580,"wires":[["8ad61386349650bf"]]},{"id":"8ad61386349650bf","type":"http request","z":"90cf9b8a.ce14c8","name":"","method":"GET","ret":"txt","paytoqs":"ignore","url":"https://wallpaper.dog/coolest-gaming-wallpapers","tls":"","persist":false,"proxy":"","authType":"","senderr":false,"x":950,"y":580,"wires":[["3b9b786a069cdebf"]]},{"id":"3b9b786a069cdebf","type":"html","z":"90cf9b8a.ce14c8","name":"","property":"payload","outproperty":"payload","tag":"div[data-fullimg]","ret":"html","as":"single","x":1160,"y":580,"wires":[["f5dd43d90bd772c1"]]},{"id":"e71353dd48490af4","type":"debug","z":"90cf9b8a.ce14c8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1530,"y":580,"wires":[]},{"id":"f5dd43d90bd772c1","type":"function","z":"90cf9b8a.ce14c8","name":"","func":"var arr = new Array(msg.payload.length);\nvar i = 0;\n\nconst regex = /(\\/large\\/\\d+\\.jpg)/;\nvar match = new Array(2);\n\n\nmsg.payload.forEach(function (value,index) {\n \n match = value.match(regex);\n arr[i] = [...new Set(match)].toString(); //match[0]\n i++; \n});\nmsg.payload = arr.filter(n => n)\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1380,"y":600,"wires":[["e71353dd48490af4","f286bc4b6f06e871"]]},{"id":"f286bc4b6f06e871","type":"ha-entity","z":"90cf9b8a.ce14c8","name":"wallpapers","server":"4bbca37b.1700ec","version":1,"debugenabled":false,"outputs":1,"entityType":"sensor","config":[{"property":"name","value":""},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":""}],"state":"https://wallpaper.dog/","stateType":"str","attributes":[{"property":"images","value":"payload","valueType":"msg"}],"resend":true,"outputLocation":"payload","outputLocationType":"none","inputOverride":"allow","outputOnStateChange":false,"outputPayload":"$entity().state ? \"on\": \"off\"","outputPayloadType":"jsonata","x":1530,"y":500,"wires":[[]]},{"id":"4bbca37b.1700ec","type":"server","name":"Home Assistant","version":1,"legacy":false,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]
You can change the setting of the inject node to repeat at some interval to update the list (if the images change on the webpage).