커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
코드 해석
undefined주차
북마크
정*희
댓글
5
추천
0
조회수
9
조회수
9
답변 완료

* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.

* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.


안녕하세요 3주차 14강 몽고디비 저장 코드 봐주시면 감사하겠습니다.

코드에 대한 해석을 붙여보았습니다.


질문 1 - 코드 해석에 대해 부적절하거나, 추가 사항있으면 지적해 주시기 바랍니다.


질문 2 - 몽고디비 접속에 끊임없이 알수없는 문제가 일어납니다. 가령 며칠전에는 비쥬얼코드와 연결이 안되다가 몽고디비를 크롬아닌 엣지에서 실행하니 연결이되었습니다. 어제도 아래 코드를 실행시키는데 계속 불통이었는데 좀 전에 연결이 되어 무비스라는 콜렉션이 나타났습니다.

원인이 어디 있을지 조언주시기 바랍니다. 감사합니다.



from pymongo import MongoClient

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'}

1-몽고클라이언트를 내포한 라이브러리 파이몽고를 다음 무비를 연결해 실행시킨다.

2-headers는 HTTP 요청을 보낼 때 추가적인 정보를 담는 역할을 합니다.

3- User-Agent는 웹 브라우저의 정보를 담고 있으며, 이를 통해 서버는 요청을 보낸 클라이언트가 누구인지 파악할 수 있습니다. 이 외에도 Accept-Language, Referer 등 다양한 정보를 담을 수 있습니다.

import requests

from bs4 import BeautifulSoup

data = requests.get(URL,headers=headers)

soup = BeautifulSoup(data.text, 'html.parser')

4-requests와 bs4는 파이썬에서 웹 스크래핑을 할 때 자주 사용되는 라이브러리입니다. requests는 HTTP 요청을 보낼 수 있도록 기능을 제공하고, bs4는 HTML 태그를 다룰 수 있도록 도와줍니다 . 이 코드는 requests를 사용하여 URL에서 데이터를 가져오고, BeautifulSoup을 사용하여 HTML 태그를 다루기 쉬운 형태로 변환합니다.

client = MongoClient('mongodb+srv://sparta:test@cluster1.03ijx8m.mongodb.net/?retryWrites=true&w=majority')


db = client.dbsparta


video_list = soup.select("#mainContent > div > div.box_ranking > ol > li")

5-soup.select()은 HTML 태그를 검색하는 함수입니다.


for v in video_list:

    # print(v)

    rank = v.select_one(".rank_num").text

    title = v.select_one(".tit_item").text.strip("\n")

    rate = v.select_one(".txt_grade").text


    doc = {

        'title':title,

        'rank':rank,

        'rate':rate

    }

    db.movies.insert_one(doc)









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