One way face recognition is done is with one-shot learning and siamese networks. You only gather one example of the face you want to recognize. You then train two CNNs with shared parameters that are able to encode one image each. Then you feed both these encodings to something that can measure the similarity between them and compare that to the ground truth (were the pictures of the same person or not).
Picture from Andrew Ng's deep learning course where you get to implement face recognition:
So you train the network by sometimes giving it two pictures of the same person and sometimes giving it pictures of different people.
When the siamese network is trained it can be used to build a encoding database of all you players and when you get a new picture you search through this database until you find the one giving you the best similarity score.
There are many ways to implement this with different levels of difficulty and performance. It is a non-standard problem so it will be a bit harder than regular image classification. I will leave you with some references:
Ready to use solution:
pip face_recoginition package
Papers:
Learning Similarity Metric Discriminatively with Application to Face Verification
DeepFace: Closing the Gap to Human-Level Performance in Face Verification
Tutorials:
One Shot Learning with Siamese Networks in PyTorch - Part 1
One Shot Learning with Siamese Networks in PyTorch - Part 2
One Shot Learning with Siamese Networks using Keras
Introduction to Web Scraping with BeautifulSoup
Courses
Andrew Ng's course on CNNs, here is a sample video about siamese networks