1 분 소요

오늘 처음 블로그를 만들었어요

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

img

항해99를 시작으로 앞으로 주니어 개발자로 화이팅해보겠습니다.

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

(내 hello.py_입력값)

import requests

from bs4 import BeautifulSoup

URL = “https://movie.daum.net/ranking/reservation”

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)

img

(튜터 hello.py_입력값)

img

#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항목 생성됨.

업데이트: