Проблема в том, что нужный вам контент создается javascript после загрузки страницы.BeautifulSoup не может проанализировать этот контент через библиотеку запросов.К счастью, вы можете использовать библиотеку Selenium вместе с PhantomJS для получения полностью визуализированных данных, а затем использовать BeautifulSoup для анализа полученного (готового) html.
Вот как это будет работать в вашем случае:
from bs4 import BeautifulSoup
from selenium import webdriver
site = "http://www.fifa.com/worldcup/stories/y=2017/m=11/news=australia-2921204.html#World_Cup_History"
browser = webdriver.PhantomJS()
browser.get(site)
html = browser.page_source
soup = BeautifulSoup(html, 'html.parser')
print(soup.prettify())
Это должно решить вашу проблему.
Обратите внимание, что вам придется установить несколько вещей, в том числе селен pip install selenium
и веб-драйвер PhantomJS (можно загрузить с http://phantomjs.org/download.html - возможно, вам придется добавить его в системный путь в зависимости ото том, как вы устанавливаете. Я использовал этот SO ответ для этого.)