본문 바로가기

Coding

[Python] Pymongo (feat. insert, doc)

 

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('https://movie.naver.com/movie/sdb/rank/rmovie.nhn?sel=pnt&date=20200303', headers=headers)

 

from pymongo import MongoClient

#pymongo 사용한다고 선언

client = MongoClient('localhost', 27017)

db = client.dbsparta

#dbsparta에 db값을 저장하겠다.

 

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

 

trs = soup.select('#old_content > table > tbody > tr')

# tr 안에 있는 코딩 값을 받아온다.

 

for tr in trs:

a_tag = tr.select_one('td.title > div > a')

if a_tag is not None:

title = a_tag.text

star = tr.select_one('td.point').text

rank = tr.select_one('td:nth-child(1) > img')['alt']

# print(rank,title, star) rank, title, star 값이 제대로 출력되는지 확인해보기.

 

doc = {

'rank':rank,

'title':title,

'star':star

}

#dictionary 선언하여 db 상에서 상단 title에 나오는 값을 선언한다.

db.movies.insert_one(doc)

doc를 근거로 rank, title, star 값을 mongoDB에 저장하고 robo3T로 확인한다.