Как сделать, чтобы сначала шло имя, а потом значение?

Рейтинг: 0Ответов: 1Опубликовано: 14.01.2023
from bs4 import BeautifulSoup
import requests

url = requests.get('https://minfin.com.ua/currency/crypto/')
soup = BeautifulSoup(url.content, 'html.parser')
names = soup.findAll('div', class_='sc-18qu8it-11 hZgTBs')
for namess in names:
    print(namess.text)

price = soup.findAll('div', class_='sc-18qu8it-3 fygJIH')

for prices in price:
    print(prices.text)

Ответы

▲ 0

Переделаю слегка код из вопроса:

from bs4 import BeautifulSoup
import requests

url = requests.get('https://minfin.com.ua/currency/crypto/')
soup = BeautifulSoup(url.content, 'html.parser')
names = soup.findAll('div', class_='sc-18qu8it-11 hZgTBs')
prices = soup.findAll('div', class_='sc-18qu8it-3 fygJIH')

Теперь можно выводить с использованием str.format() и объединить два листа с помощью zip():

for name, price in zip(names, prices):
    print('{}: {}'.format(name.text, price.text))

либо просто пройтись по всем индексам в паре:

for i in range(len(names)):
    print('{}: {}'.format(names[i].text, prices[i].text))
Вывод:
Bitcoin: 20.884,00 $
Ethereum: 1.552,64 $
Tether: 0,999608 $
BNB: 310,56 $
...
Decentraland: 0,566351 $
Frax: 0,999842 $
MultiversX: 42,12 $
Tezos: 1,029 $