• 카테고리

    질문 & 답변
  • 세부 분야

    업무 자동화

  • 해결 여부

    미해결

데이터스크래핑 질문입니다.

21.01.08 01:38 작성 조회수 150

0

먼저 좋은 강의 너무 감사드립니다.

데이터 스크래핑 예제 진행후 제 임의대로 연습을 해봤는데요.

제가 좋아하는 운동선수 기록을 스크래핑하던 중 에러문구가 떳습니다. 해당 데이터 스크래핑 한 사이트는 아래와 같습니다.

위 이미지에서 Age 부분 18-25 이미지는 잘 인식했지만

<상호 연결된 데이터 추출> 과정에서 그 옆 기록인 G부분 77-81 이부분을 인식하지 못하네요.

이유가 궁금합니다. 

답변 4

·

답변을 작성해보세요.

0

친절한 설명 너무 감사드립니다!! 

thingha@kakao.com 으로 보내주시면 감사하겠습니다! 덕분에 너무 즐겁게 공부하고 있네요 감사합니다!!

0

안녕하세요 myeongha lee님 

앞서 보여드린 스크린 샷은 각 AGE 열과 G 열이 가지고 있는 속성 중에 ParentClass (쉽게 말해 값을 가져오는 공간) 이 다른 것으로 보여집니다.

이런 차이점이 있어서 데이터 스크래핑 할때 연속성을 못 찾아서 오류가 나는 것으로 보여지는데요.
이런 경우에는 각각 열을 따로 데이터 스크래핑해서 데이터 테이블을 합치는 방법이 있을 것 같습니다. 

방법은 2가지가 존재합니다.
엑셀 파일을 사용하는 경우, 직접적으로 데이터 테이블을 다루는 경우

<엑셀 파일을 사용하는 경우>

1) Age 열을 데이터 스크래핑 합니다. - 데이터 스크래핑

2) G 열을 데이터 스크래핑 합니다. - 데이터 스크래핑

3) 엑셀 파일을 생성 합니다. - Excel Applcation Scope

4) 생성한 엑셀 파일에 Age, G 열의 데이터를 입력합니다. - Write Range (Age), Write Range(G) 

5) 엑셀 파일에 "A1 (Age)", "B1 (G)"열 데이터를 입력합니다. 

6) 엑셀 파일을 저장 한 후, 엑셀 파일에서 데이터 테이블을 추출합니다.

<직접 데이터 테이블 합치기>
1) Age 열을 데이터 스크래핑 합니다. - 데이터 스크래핑

2) G 열을 데이터 스크래핑 합니다. - 데이터 스크래핑

3) 각 데이터 테이블에 ID 칼럼명을 추가합니다. - Add Data Column

4) 각 데이터 테이블 ID 칼럼에 1부터 행의 개수만큼 증가하게끔 하여 저장합니다. - For each row, assign

5) 두 개의 데이터 테이블을 합칩니다. - Join Data Table

6) 합쳐진 데이터 테이블에서 ID 칼럼과 ID_1 칼럼을 제거합니다. - remove Data Column

두 가지 방법 모두 직접 소스코드를 작성해 확인해 본 것으로, 첨부 받으실 메일 하나 보내주시면 소스코드를 보내드리도록 하겠습니다.

0

https://www.rotowire.com/basketball/player.php?id=3456

해당 URL 알려드립니다! 

선수의 기록이 있는 도표 보이실 거예요. 감사합니다.

0

안녕하세요 myeongha lee님^^ 저런 경우는 셀렉터의 연속성을 파악하지 못했을 때 일어나는 현상인데요.
저 사이트 URL을 저한테 보내주시면 제가 한번 해본 뒤에 무엇이 문제였는지 파악해서 알려드리겠습니다. 
코알라 강의를 수강해주셔서 진심으로 감사합니다!