새로운 프로젝트를 시작하기로 했다!
야구 팬들이 이용할 수 있는 간단한 팬 사이트를 만드려고 하는데
아무래도 스포츠 관련 사이트니까 필수적으로 '순위'가 들어가야 할 것 같아서
배워보지 않은 기능을 구현해보려고 한다!
가장 먼저 필요한 건 정보가 있는 url
네이버에서 순위가 나타나는 페이지를 찾는다
https://sports.news.naver.com/kbaseball/record/index.nhn?category=kbo
그 후 F12 개발자 도구로 우리가 필요한 정보가 어떻게 되어있는지 확인한다.
우리가 알고 싶은 순위는 table id = 'regularTeamRecordList_table'에 담겨 있다.
테이블 구성을 잘 살펴보면
th와 th, span 등등에 우리가 필요한 정보가 담겨 있다는 걸 알 수 있다.
먼저 파이썬에 필요한 모듈을 설치한다
pip install beautifulsoup4
설치가 완료 되면 코드를 작성한다.
from bs4 import BeautifulSoup
import urllib.request as req
url = "https://sports.news.naver.com/kbaseball/record/index.nhn?category=kbo"
res = req.urlopen(url).read()
soup = BeautifulSoup(res, 'html.parser')
#print(soup) html 출력
for tr_tag in soup.find(id='regularTeamRecordList_table').find_all('tr'):
th_tag = tr_tag.find('th')
strong_tag = th_tag.find('strong')
lank = strong_tag.get_text()
span_tag = tr_tag.findAll('span')
team = span_tag[1].get_text()
print(lank, " ", team, " ")
우리가 필요한 것은 순위 뿐이라서! 순위만 가져왔다. span_tag의 인덱스 번호를 수정하면 다른 정보도 출력 가능하다.
도움 받은 블로그
https://zidarn87.tistory.com/22