커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
3-13 웹 스크래핑 결과 저장하기
undefined주차
북마크
황*림
댓글
6
추천
0
조회수
9
조회수
9
답변 완료


강의 3-13 2분18초 경 나오는 부분이에요.

네이버 영화랭킹을 실행으로 돌려보는대신 mongoDB에서 나타나게 하는 건데, 에러가 납니다... 왜 그럴까요 ㅜ

movies = soup.select('#old_content > table > tbody > tr')
####### 위에 가버나움과 그린북을 보면 "#old_content > table > tbody > tr" 까지 똑같은걸 알 수 있다!!!!
####### 그건 soup.select('') 이용해서 앞에 동일한걸 떼어줌!!!
####### " print(movies) "로 돌려보면 html이 리스트 형태인걸 알 수 있음. 그럼 for 문으로 돌려야 함

for movie in movies:
    a=movie.select_one('td.title > div > a')
####### 위에 가버나움과 그린북에서 왼쪽 겹치는건 soup.select('')로 잡아준것처럼, 오른쪽 겹치는 부분도 잡아준다. movies.select_one
####### 꺽쇠 괄호 ">"는 안잡아줘도 되는듯?
####### 네이버영화랭킹리스트 보면 10개단위별로 line이 이쁘게 들어감. 그 라인 없애기 "if a != " 또는 "if a is not None:"
    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
        doc = {
            'title': title,
            'rank': rank,
            'star' = star
        }
        db.movies.insert_one(doc)


취소
 공유
취소
댓글 0
댓글 알림
나의얼굴