Как сделать, чтобы сначала шло имя, а потом значение?
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)
Ответы (1 шт):
Автор решения: DiMithras
→ Ссылка
Переделаю слегка код из вопроса:
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 $