github.com/FriendsOfPHP/Goutte this could be used but in general you still need to define the patterns.
I would recommend using selenium because that way you don't have the problem with heavy javascript pages and there are browser extensions where you can actually easily export certain behaviours as a base template :)