사용 라이브러리 : BeautifulSoup

이 html_str을
soup = BeautifulSoup(html_str,'html.parser')로 파싱하면

(사실은 DOM형태임)
이런식으로 나타내진다.
soup.find("div", {"id" : "container"})

딸린게 주르륵 나온다.
p_p1.get("class")
soup.select_one("#container")

주르륵 나온다
soup.select_one ("#container > .p1")

단하나..!
<전체코드>
import requests
from bs4 import BeautifulSoup
url = '...'
response = requests.get(url)
page = response.content
soup = BeautifulSoup(page, 'html.parser')
exchange_list = soup.select('#exchangeList > li')
c_name_list = []
exchange_rate_list = []
change_list = []
updown_list = []
for exchange in exchange_list:
c_name = exchange.select_one("h3.h_lst").text
exchange_rate = float(exchange.select_one("span.value").text.replace(",",""))
change = float(exchange.select_one("span.change").text)
updown = exchange.select("span.blind")[-1].text
c_name_list.append(c_name)
exchange_rate_list.append(exchange_rate)
change_list.append(change)
updown_list.append(updown)
import pandas as pd
exchange_datas = {
"국가" : c_name_list,
"환율" : exchange_rate_list,
"변동" : change_list,
"등락" : updown_list
}
df_exchange = pd.DataFrame(exchange_datas)
df_exchange.to_csv("./data/0121환율정보")