Как спарсить каждый отдельный элемент div?

Html код:

<div>
    <time datetime="2022-12-17T07:47:52+03:00">сегодня в 07:47</time>
     |
    <a href="/news/pc">ПК</a>, 
    <a href="/news/rumors">Слухи</a>, 
    <a href="/news/freebies">Раздачи и скидки</a>
</div>
                    

У дочерних элементов нету ни id ни class, при этом нужно достать содержимое из каждого.

Python код:

import requests
from bs4 import BeautifulSoup
headers = {
    "User-Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:108.0) Gecko/20100101 Firefox/108.0"
}

def get_free_game():
    url = "юрл страницы"

    r = requests.get(url=url, headers=headers)
    soup = BeautifulSoup(r.text, "lxml")

    list_items = soup.find_all("div", class_="post")

    games_dict = {}

    for items in list_items:
        game_title = f"{items.find('div', class_='post-title').text.strip()}"
        news_tag = f"{items.find('div', class_='post-metadata').text.strip()}".split("\n")

        games_dict = {
            "News": game_title,
            "Tags": news_tag,
        }

        print(games_dict)


if __name__ == "__main__":
    get_free_game()

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

Автор решения: Сергей Ш
from bs4 import BeautifulSoup

txt = '<div class="post-content">' \
     '<div class="post-metadata">' \
     '<div>' \
     '<time datetime="2022-12-17T07:47:52+03:00">сегодня в 07:47</time>' \
     '<a href="/news/pc">ПК</a>,' \
     '<a href="/news/rumors">Слухи</a>,' \
     '<a href="/news/freebies">Раздачи и скидки</a>' \
     '</div>' \
     '</div>' \
     '</div>'

soup = BeautifulSoup(txt, "lxml")
items = soup.find('div', class_='post-metadata')

# 1
data, *news_tag = [x for x in items.stripped_strings if x != ',']
print(data)
print(news_tag)

# 2
data = items.find('time').text    # data = items.time.text
news_tag = [x.text for x in items.find_all('a')]
print(data)
print(news_tag)

# 3
news_tag = {x.text: x['href'] for x in items.find_all('a')}
print(news_tag)
→ Ссылка