본문 바로가기

Web development

개발 블로그 개설

#1 항해99_웹개발자 과정 도전

#2 첫 오류 : 1회차때 3주차 3-14                                                                                                       

(내 hello.py_입력값)

import requests
from bs4 import BeautifulSoup

headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
data = requests.get(URL, headers=headers)
soup = BeautifulSoup(data.text, 'html.parser')

lis = soup.select('#mainContent > div > div.box_ranking > ol > li')

for li in lis:
    rank = li.select_one('.rank_num').text
    title = li.select_one('.link_txt').text
    rate = li.select_one('.txt_grade').text
    print(rank, title, rate)

(튜터 hello.py_입력값)

 

#3 슬랙 첫 질문

질문방이 보이지 않아 공지방에 질문드립니다.

 

웹개발 종합반 3주차 3-14강(0:09초~)에서 hello.py 코드가 튜터님과 달라 질문드립니다.
현재 2회독 중인데, 1회독때도 이 부분에서 튜터님과 코드가 달라서 mongoDB에 movies항목이 뜨지 않았고
튜터님과 코드 비교해보면
data = requests.get(URL, headers=headers)
이 부분에 어떤 URL을 넣어야 하는지 수업에서 설명을 들은 기억이 없습니다. 


soup = BeautifulSoup(data.text, 'html.parser')
이 부분 아래에 해당하는 hello.py 에서 튜터님 코드는

trs = soup.select('#old_Content > table > tbody > tr')
for tr in trs:
    a = tr.select_one('td.title > div > a')
    if a is not None:
        title = a.text
        rank = tr.select_one('td:nth-child(1) > img')['alt']
        star = tr.select_one('td.point').text                                                          
        doc = {
            'title':title,
            'rank':rank,
            'star':star
        }
        db.movies.insert_one(doc)    

hello.py 제 코드는

lis = soup.select('#mainContent > div > div.box_ranking > ol > li')

for li in lis:
    rank = li.select_one('.rank_num').text
    title = li.select_one('.link_txt').text
    rate = li.select_one('.txt_grade').text
    print(rank, title, rate)  

이렇습니다. 제가 중간에 내용을 숙지 하지 못한 건가 해서 1회독때 체크해두었던 부분인데, 2회독에서 또 이 부분에서 튜터님과 코드가 달라 질문드립니다. 다시 hello.py 코딩하는 전 강의로 돌아가 찾아봐도 튜터님 코드가 언제 저렇게 바뀌었는지 모르겠습니다.


저 부분에서 튜터님 코드대로 넣어봤는데 mongoDB에서 movies항목이 뜨지 않아 어떻게 해결해야 할지 몰라 첫 질문드립니다.

 

#3 오류 해결

튜터님과 다른 부분 무시하고 그냥 

doc = {
        'rank':rank,
        'title':title,
        'rate':rate
    }  
    db.movies.insert_one(doc)    

넣었더니 mongoDB에서 movies항목 생성됨.

'Web development' 카테고리의 다른 글

웹 브라우저 기본 원리  (0) 2023.06.28
[프로젝트] 팬명록 만들기  (0) 2023.06.28
[프로젝트] 버킷리스트 만들기  (0) 2023.06.28
영화 url & 이미지 오류  (0) 2023.06.26
flask 오류인가, app.py오류인가?  (0) 2023.06.23