본문 바로가기

IT/Python

Python 크롤링 MongoDB insert

from urllib.request import urlopen
from bs4 import BeautifulSoup
 
##MONGO
from pymongo import MongoClient
import datetime
import pprint
##MONGO

client = MongoClient(host='localhost', port=27017)
db = client['admin']
collection = db['TB_CROWING']
 
 def main():    
    #param1="알토란+레시피"
    #param2="레시피모음"
    #param3="itKuXlprvTVssRIbAaossssstvd-278383"
    #param4="normal"
    param1="%EC%95%8C%ED%86%A0%EB%9E%80+%EB%A0%88%EC%8B%9C%ED%94%BC"
    param2="%EB%A0%88%EC%8B%9C%ED%94%BC%EB%AA%A8%EC%9D%8C"
    param3="itKuXlprvTVssRIbAaossssstvd-278383"
    param4="normal"
   
    url = "https://search.naver.com/search.naver?sm=tab_hty.top&where=view&query={}&oquery={}&tqi={}&mode={}".format(param1,param2,param3,param4)
    response = urlopen(url)
 
    soup = BeautifulSoup(response,"html.parser")

    f = open('E:/anaconda3/envs/flask/crowing1.txt',"w" ,encoding="utf8")
   
    dsc_txt = soup.select('._list_base')    
    li = dsc_txt[0].select("li")
    for list in li:
       
        total_tit  = list.select_one(".total_tit ")
        title = total_tit.text
        print(title)

        total_group  = list.select_one(".total_group ")
        body = total_group.text
        f.write("{\"title\":\""+title+"\",\"value\":\""+body+"\"}")        
        f.write('\n')

        insert_data = {
            "title" : title,
            "value" : body
        }

        #mongdo insert
        get_mongo_isert(insert_data)

    f.close()
    client.close()
##############몽고DB에 데이터적재
def get_mongo_isert(insert_data):
    print(insert_data)
    collection.insert_one(insert_data)
 

 

'IT > Python' 카테고리의 다른 글

python flask server 실행  (0) 2023.03.04
python flask 설치 ( anaconda3)  (0) 2023.03.04
python flask 설치 ( anaconda3)  (0) 2023.03.04
anaconda3 window 설치  (0) 2023.03.04