Written on
·
181
0
from bs4 import BeautifulSoup
import urllib.request as req
import sys
import io
sys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding = 'utf-8')
sys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding = 'utf-8')
url = "http://finance.daum.net/quote/kospi.daum?nil_profile=stocktop&nil_menu=nstock27"
res = req.urlopen(url).read()
soup = BeautifulSoup(res,"html.parser")
top = soup.select("ul#topMylistNO1 > li ")
for i,e in enumerate(top,1):
print(i,",",e.find("a").string,":",e.find("span").string)
뭐가 잘못됬는지 모르겠습니다 강의와 조금다른부분이 있어서 자료실내용으로 변경했는데도 안되네요 -------확인해 봤는데---
top = soup.select("ul#topMyListNo1 > li ")
----->
top = soup.select("ul#myListTop1 > li") 변경하니까 되네요
강의에서나 제가 인터넷상에 HTML 찾아보면 topMyListNo1 였는데 바뀐거와
HTML 에서는 myListTop1 못찼겠네요 . HTML 안에 있는건가요
Answer 1
0
해당 링크에 가서 확인하니 우선 소스파일은 작동합니다.
언급하신대로 소스코드 상에 선택자 ul#myListTop1 > li" 부분에서 대소문자 구분 및 공백등을
잘 검사해보심이 좋을 듯 합니다.
원래 선택자 부분이 실제로 타이핑 해서 결과를 확인할 때 가장 많이 손이 가는 부분입니다.