개발은 처음이라 개발새발
[selenium] 셀레니움으로 크롤링 해보기 - 네이버 축구 순위 2편 본문
지난 글에서 네이버 분데스리가 팀순위 페이지까지 연동하는 것을 해봤는데요. 코드는 아래와 같습니다.
from selenium import webdriver
import pandas as pd
#open webdriver
chrome_driver = './chromedriver.exe'
driver = webdriver.Chrome(chrome_driver)
df_bundes_team = pd.DataFrame(columns = ['rank', 'team', 'game', 'win_pt', 'win', 'draw',
'lose', 'gf', 'ga', 'goal_diff'])
bundes_football = "https://sports.news.naver.com/wfootball/record/index?category=bundesliga&tab=team"
driver.get(bundes_football)
driver.implicitly_wait(3)
이제 본격적으로 데이터를 긁어와야 합니다. 이를 위해서 반드시 필요한 것은 두가지인데요. 첫번째는 반복문을 사용하기 위해 필요한 해당 테이블의 길이(len)입니다.

위에 이미지를 보게되면 오른쪽에 처음보는 화면이 있을 텐데요. 바로 현재 분데스리가 팀순위 테이블의 html 구조를 볼 수 있는 공간입니다. 이동 경로는 마우스 우클릭 → 검사를 클릭하면됩니다. 팁이 있다면 크롤링을 좀 더 원할하게 하기 위해서는 html의 구조를 공부하는 것을 추천드립니다. html의 문장 구조를 공부해야 자신이 원하는 데이터를 뽑아낼 때 좀 더 빠르게 파악할 수 있습니다.
다시 위 그림을 보시면 1위에 해당되는 row 전체가 파랗게 돼 있습니다. 그리고 1위에 대한 내용을 담고 있는 태그에도 파란 박스가 쳐져 있는데요. 여기를 우클릭하면 Copy라는 항목이 있고 다양한 Copy목록이 있습니다.
이중에서 저는 "Copy selector"를 선택해 붙여넣기를 해보도록 하겠습니다.
" #wfootballTeamRecordBody > table > tbody > tr:nth-child(1) "
이런 형태를 띄는데요. 2위를 복사해보면 " #wfootballTeamRecordBody > table > tbody > tr:nth-child(2) " 으로
from selenium import webdriver
import pandas as pd
#open webdriver
chrome_driver = './chromedriver.exe'
driver = webdriver.Chrome(chrome_driver)
df_bundes_team = pd.DataFrame(columns = ['rank', 'team', 'game', 'win_pt', 'win', 'draw',
'lose', 'gf', 'ga', 'goal_diff'])
bundes_football = "https://sports.news.naver.com/wfootball/record/index?category=bundesliga&tab=team"
driver.get(bundes_football)
driver.implicitly_wait(3)
tr_len = len(driver.find_elements_by_css_selector('#wfootballTeamRecordBody > table > tbody > tr'))
print(tr_len)

맨아래 18이라는 숫자가 나왔네요. 정답입니다. 테이블의 길이를 구한 이유는 바로 반복문을 활용하기 위함인데요. 다음 편에는 tr_len을 이용한 반복문을 통해 테이블을 긁어오도록 하겠습니다.
'파이썬 > 크롤링' 카테고리의 다른 글
| 셀레니움으로 네이버 로그인 1편 (2) | 2022.07.10 |
|---|---|
| [selenium] 셀레니움으로 크롤링 해보기 - 네이버 축구 순위 최종장 (0) | 2022.06.06 |
| [selenium] 셀레니움으로 크롤링 해보기 - 네이버 축구 순위 1편 (0) | 2022.06.04 |
| [selenium] 셀레니움으로 크롤링 해보기 - 크롬 드라이버(Chrome driver) (2) | 2022.06.04 |