If all that’s changing on a site is the presentation/ordering of elements, then you just need to update some XPath selectors every now and then and have a notification system for knowing when those selectors aren’t working.
You can even automate this process by having a known input (eg, URL to a book on goodreads + its known [and hopefully unchanging] book title) and have a script that periodically checks that the xpath string matches the known pages text / generates a new one to point to the title. This is harder for values that do change but there are always workarounds