python3
- FC online 개인 프로젝트
👉 프로젝트 Github 바로가기
# BeautifulSoup으로 스크래핑 시도했으나 실패
res = requests.get(https://fifaonline4.inven.co.kr/dataninfo/player/?code=280200104)
soup = BeautifulSoup(res.text, 'html.parser')
soup.find_all('span.comment')
# Selenium으로 성공(일단 테스트로 하나의 리뷰만 스크래핑
comment = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR,'span.comment')))
print(comment.text)
[ 논리 과정 ]
- FC online 인벤에서 특정 카드의 유저 리뷰를 스크래핑 한다.
- BeautifulSoup의 find_all()를 사용해서 해당 선택자의 text를 가져와야겠다.
[ 문제 상황 ]
- FC online 인벤에서 특정 카드의 유저 리뷰를 스크래핑 헤야 한다.
- 분명 html에서 해당 리뷰들이 보이고 코드도 보이지만 beautifulsoup을 통해 스크래핑 했으나 되지 않았다.
- css 선택자도 올바르게 작성했으나 안됨
[ 해결 ]
- 해당 영역이 동적 요소였다. (
검사
>설정
>디버깅
>javascript 비활성화
하니까 보이지 않음) - selenium의 driver를 통해 실시간으로 스크래핑
[ 회고 ]
- 스크래핑할 때 동적요소, javascript 사용 여부에 따라서 html에 보여도 스크래핑 되지 않는 경우가 있다.
'DA Study > TIL' 카테고리의 다른 글
[TIL] PERCENT_RANK() OVER() 윈도우 함수 활용 # MYSQL (1) | 2024.12.28 |
---|---|
[TIL] DATEDIFF(), LEFT OUTER JOIN # MYSQL (2) | 2024.12.27 |
[TIL] shrftime()으로 날짜 요일로 변환하기 #SQL #SQLite #solvesql (3) | 2024.12.24 |
[TIL] 다중 논리 연산자, 게임 평점 예측하기 1 #SQL #SQLite #solvesql (2) | 2024.12.22 |
[TIL] 3개 이상의 LEFT JOIN, 날짜 형식 포맷팅 #SQL #SQLite #solvesql (0) | 2024.12.21 |