How to find a spam link?

Did you try a search from the Posts (Admin) screen? (And also the Pages (Admin) screen?

And sometimes a googles of your site might find it: use something like

search-term site:example.com 

…depends on how current the googles are for your site. But sometimes works well.

Added

To answer your question/comment: Remember that there is no ‘source code’ (as such) for a page content (assuming you found the text via a search via Admin, Page). Only the page content as shown in the editor (via Admin, Page) that needs to be changed. (Look at Text mode.)

Now, it is possible that there is some hack of your theme/plugins (if you found the text via the googles), so you should carefully look everywhere and update/change everything: credentials (host, ftp, WP admin-level users); update WP/themes/plugins from repository; check for code in custom functions.php files and any Child Themes; and manually look for bad files (including hidden) in all site folders via FTP; remove unused and old/not-updated-lately themes/plugins.

See my post about ‘de-hacking’ a site with details: https://securitydawg.com/recovering-from-a-hacked-wordpress-site/ . I have successfully used this process to clean up sites.