parsing python проблема с выводом когда в функции

когда код не в функции, то выводит все названия, а когда в функции то только одно, которое первое и заканчивает работу

import requests
from bs4 import BeautifulSoup as BS

def get_MusorGames(page=1):
    
    while True:
        r = requests.get(f"https://stopgame.ru/review/new/musor/p"+str(page))
        html = BS(r.content, 'html.parser')
        items = html.select(".items > .article-summary")

        if len(items):
            for names in items:
                title = names.select('.caption > a')

                with open("info.txt", "a", encoding='utf-8') as file:
                    file.write(title[0].text + "\n")

                return title[0].text
                    
            page += 1
        else:
            break

def main():
    print(get_MusorGames())
        

if __name__ == '__main__':
    main()

Ответы (1 шт):

Автор решения: Сергей Шашко
import requests
from bs4 import BeautifulSoup as BS


def get_MusorGames(page=1):
    titles = []
    while True:
        r = requests.get(f"https://stopgame.ru/review/new/musor/p" + str(page))
        html = BS(r.content, 'html.parser')
        items = html.select(".items > .article-summary")
        page += 1
        if len(items):
            for names in items:
                title = names.select('.caption > a')
                titles.append(title[0].text.replace(': Обзор', ''))

        else:
           return titles


def main():

    print(get_MusorGames())


if __name__ == '__main__':
    main()
→ Ссылка