inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[Python 실전] 웹크롤링과 데이터분석 : 전세계 축구 선수 몸값 분석

두둥~! 드디어 실전 크롤링

강의 10:00 분쯔음 player 에 값 넣기

473

djaghdyd123

작성한 질문수 12

0

안녕하세요 

for info in player_info:

       player = info.find_all("td")

이 부분이 이해가 안가는 것이 있어서요.

사실 문법 문제인것같은데..

for 반복문을 돌면서 player에 값을 대입하면 결국 마지막 info만 들어가게 되지않나요? 즉 25번째 선수의 정보만 player 배열에 값이 들어가게되지 않나요?

+= 를 사용하지 않았는데 왜 player 배열에 각 선수 정보들이 누적되서 들어가있는지 궁금합니다!

감사합니다.

python 웹-크롤링 pandas beautifulsoup

답변 1

1

코딩교양스쿨

안녕하세요?

질문 감사드립니다. 

for 반복문은 반복되는 요소들을 "하나씩" 꺼내서 실행합니다. 그러니까, 마지막 요소(info)만 들어가는 것이 아니라 첫번째 요소(info)부터 차례차례 반복되면서 명령문을 실행하고 다 끝나면 다음 두번째 요소가 나와서 처리하고...하는 식으로 반복됩니다. 

파이썬 for 반복문에 대한 사용법을 인터넷 검색을 통해서 한 번 확인해보시면 좋을 것 같습니다. ^^;

다른 질문이 또 생기면 언제든지 질문해주세요~!

감사합니다. 

0

djaghdyd123

player[0] 에 순위가 [ 1, 2, 3, ... 25] 로 들어가있는데

제 생각에는 아래와같이 실행하면

for info in player_info:

       player = info.find_all("td")

첫번째 info (음바페 선수 정보) 부터 시작해서 player에 값이 대입되는데.

첫번째 info 가 끝나고 두번째 info(두번째 선수) 값을 다시 player에 대입하면 

기존 음바페 선수정보가 있는 것에 더해서 추가되는 것이아니라 덮어씌어지는 것이 아닌가해서 질문을 드렸습니다.

즉 마지막에는 player[0] = 25 하나밖에없는...

제가 뭘 놓치고있나요 ㅠㅠ..

0

코딩교양스쿨

아, 어떤 부분을 놓치고 계신지 알 것 같습니다. 

마지막에는 25가 들어가는 것이 맞습니다!

그런데, 우리는 반복을 하면서 계속 출력을 하고 그때마다 저장을 하는 것입니다. 

다음의 예제를 한 번 볼까요?

첫 번째 예제에서 a를 출력하면 각 요소를 제곱한 값들이 하나씩 차례로 모두 출력이 되지요?

그런데, 두 번째 예제를 보면, 마지막 값인 25만 출력이 됩니다. 반복이 다 끝나고 나서 출력을 하면 마지막 값만 나오는 겁니다. print()명령문의 띄어쓰기 위치를 확인해보세요!

 

혹시 다른 부분이 궁금한 거라면 다시 알려주세요..^^

0

djaghdyd123

아.. 그런거였군요 ㅎㅎ 가르쳐주셔서 감사합니다

섹션1.9 질문입니다!

0

9

2

웹서비스 방법

0

11

0

MCP 정의가 잘못되어 있음 (Chapter2)

0

17

1

수강 연장 문의드립니다.

0

16

2

13. (App 2) 기본기 훈련 에서

0

14

1

채점 프로그램 미작동

0

13

2

챌린지 시작일 문의

0

19

0

2. 어떤 도구를 사용하는 것이 가장 유리할까? 강의 중

0

17

1

안녕하세요 ppt 자료 메일로 부탁드립니다

0

12

1

11차시 Antigravity IDE 설치 후

0

19

1

링크드 리스트 중간 삽입삭제 시간복잡도 질문

0

15

1

Kaggle 노트북(predict.ipynb) 관련

0

19

1

처음 에이전트 설정을 잘못 했을 경우 수정 하는 방법

0

16

1

깃허브에서 csv파일 불러오기 오류 문의

0

580

2

국적 2개 출력

0

268

1

player_info =soup.find_all('tr' ) 로 선수 정보를 뽑지 않은 이유

0

283

0

9:57 데이터 변경 .astype()

0

230

0

수업 듣던중 오류가 발생하여 문의드립니다. 확인 부탁드려요ㅜㅜ

0

215

0

player_info = soup.find_all('tr', class_ = ['odd', 'even]) 함수가 동작하지 않습니다.

0

393

1

df.info에서 자료형태 질문있습니다.

0

243

0

error

0

228

0

transfermarkt.com 페이지에 대해서 status_code가 404로 오류가 나타납니다.

0

258

0

질문있어요!

0

414

2

number.append질문

0

539

5