
캡쳐 사진에 alt 내용("국내 카드", "마스터 카드")과 연회비 금액을 가지고 오고 싶은데 에러는 아닌데 원하는 값을 못 가지고 오고 있습니다.


작성한 코드 및 에러 메세지
#acc0 > div > div > table > tbody > tr:nth-child(1) > td:nth-child(1) > span > img # 국내카드 <img src = " "... alt ="국내 카드">에 대한 selector
#acc0 > div > div > table > tbody > tr:nth-child(1) > td.wgt_md.color_darkgray # 국내카드 총 연회비 - td.wgt_md.color_darkgray 에 대한 selector
#acc0 > div > div > table > tbody > tr:nth-child(2) > td:nth-child(1) > span > img #마스터카드 <img src = " "... alt ="마스터 카드">에 대한 selector
#acc0 > div > div > table > tbody > tr:nth-child(2) > td.wgt_md.color_darkgray # 마스터 카드 총 연회비 - td.wgt_md.color_darkgray 에 대한 selector
import requests
from bs4 import BeautifulSoup
URL = 'https://www.shinhancard.com/pconts/html/card/apply/credit/1216829_2207.html' # 카드 상세 정보
headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
data = requests.get(URL, headers=headers)
data.encoding = 'utf-8'
soup = BeautifulSoup(data.text, 'html.parser')
dd = soup.select('#acc0 > div > div > table > tbody > tr') # selector의 공통 부분, #acc0 > div > div > table > tbody > tr << 공통이니 dd에 저장
for d in dd:
a = d.select_one('td.wgt_md.color_darkgray') # 연회비의 금액 정보
#b = d.select_one('td:nth-child(1) > span > img')[‘alt’] # alt의 값을 가지고 오고싶어요
print(a.text + b)
결과
{{=$data.afeOption}}
{{=$data.wlAfe}}
{{=$data.bseAfe}}
{{=$data.aflAfe}}
