이게 코딩의 매력인가?
이해되면 재밌어 미치겠다
js의 경우
let a = 2
let b = 3
와 같이 let으로 a와 b의 값을 정해줬다면
python은
a = 2
b = 3
과 같이 let이 필요가 없다.
또한 중괄호 역시 필요가 없다!
(줄은 맞춰야한다)
for fruit in fruits:
print(fruit)
js와는 다르게 리스트와 함께쓰도록 기획 되었다(?)
1. count = 0
2. for aaa in fruits:
3. if aaa == '사과':
4. count + = 1
5. print(count)
= 리스트의 목록에서 사과의 갯수를 찾아준다.
BeautifulSoup 이라는 패키지를 사용해 보았다.
네이버 영화 랭킹 페이지를 이용해 영화 순위, 제목, 평점을 정리했다.
movies = soup.select('#old_content > table > tbody > tr')
for movie in movies:
a = movie.select_one('td.title > div > a')
if a is not None:
title = a.text
rank = movie.select_one(' td:nth-child(1) > img')
star = movie.select_one('td.point')
print(title,rank,star)
처음 내가 혼자 한 크롤링
했더니 결과 값이 이렇게 나왔다.

원하지 않는 링크 주소, 깔끔하게 나오지 않는 평점.
movies = soup.select('#old_content > table > tbody > tr')
for movie in movies:
a = movie.select_one('td.title > div > a')
b = movie.select_one('td.point')
if a is not None:
title = a.text
rank = movie.select_one('td:nth-child(1) > img')['alt']
star = b.text
print(rank,title,star)
이건 숙제 해설을 조금씩 보면서 혼자고쳐본것
b라는 값을 따로 지정해서 .text를 붙였더니 깔끔하게 나와서 너무 뿌듯했다.
하지만 스앵님은 더 쉬운방법을 알고 계셨지....
movies = soup.select('#old_content > table > tbody > tr')
for movie in movies:
a = movie.select_one('td.title > div > a')
if a is not None:
title = a.text
rank = movie.select_one('td:nth-child(1) > img')['alt']
star = movie.select_one('td.point').text
print(rank,title,star)
바로b값을 따로 주지 않고 그냥 뒤에다가 .text 붙이는거..^^
이렇게 해도 됐구나..
머리 아파 죽을것 같다가도 이렇게 이해가 되면 갑자기 미친듯이 재밌어진다.
이제 익숙해 질 일만 남은거지..?

이게 수정 후 의 결과값!
훨씬 훨씬 깔끔해졌다.