커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
POST 시 mongoDB 초기화 하는 방법
undefined주차
북마크
박*우
댓글
7
추천
0
조회수
12
조회수
12
답변 완료

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

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


POST 관련 응용 중입니다.

before) 특정 버튼을 누르면, 크롤링을 한뒤, 추출한 값을 mongo db에 저장하여, 웹에 뿌려주고 있는데요.

after) 특정 버튼을 누를 때 마다, 기존에 mongo db에 있는 내용을 다 제거하고, 새로 크롤링을 한걸 저장하여 뿌려주게 할 수 있을까요?



에러라기보다는 어떤 부분에 해당 초기화 코드를 넣어야 mongo db에 있는 기존의 값들을 없앨 수 있는지 문의드립니다.



def movie_post():
    url_receive = request.form['url_give']
    # star_receive = request.form['star_give']
    # comment_receive = request.form['comment_give']

    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_receive, headers=headers)

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

    movies = soup.select('body > div.content > div > div.movie-list.slider-type1 > ul > li')
    top10_count = 1
    for movie in movies:
        a = movie.select_one('div > a > div.info > div.subj')
        if a is not None:
            title = a.text
            image = movie.select_one('div > a > div.img > img')['src']
            age = movie.select_one('div > a > div.img > span > i')['class']
            etc = movie.select_one('div > a > div.info > div.etc').text
            actor = movie.select_one('div > a > div.info > div.actor').text
            print(title, image, age, etc, actor)

        doc = {
            'title': title,
            'image': image,
            'age': age,
            'etc': etc,
            'actor': actor
        }
        db.movies.insert_one(doc)

        top10_count += 1
        if top10_count > 10:
            break

    return jsonify({'msg':'저장 완료!'})


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