Сначала вы должны использовать стандартную библиотеку «html.parser» вместо «xml» для анализа содержимого страницы.Он лучше работает с неработающим html (см. Beautiful Soup findAll не находит их все )
Затем взгляните на исходный код страницы, которую вы анализируете.Элементы, которые вы хотите найти, выглядят так: <a href="/movie/woman-at-war">
Поэтому измените свой код следующим образом:
from bs4 import BeautifulSoup
from urllib.request import Request, urlopen
import re
req = Request('https://www.metacritic.com/browse/movies/genre/date?page=0', headers={'User-Agent': 'Mozilla/5.0'})
html_page = urlopen(req).read()
soup = BeautifulSoup(html_page, 'html.parser')
links = []
for link in soup.findAll('a', attrs={'href': re.compile("^/movie/")}):
links.append(link.get('href'))
print(links)