작성
·
282
1
맥북 카탈리나를 사용하고 있고 db admin에 id/pw가 설정되어 있어 아래와 같이 google.py를 작성했습니다.
이렇게 하니 아래처럼 DB에 데이터가 쌓이지 않아 문의 드립니다.
왜 데이터가 들어가지 않을까요??
이걸 MongoClient(host="localhost", port=27017) 이렇게 해도 안됩니다...ㅜㅜ
알려주세요~!!
답변 4
4
혹시 다른 분들도 같은 현상을 겪으실까봐 댓글남깁니다.
저의 경우에는
try:
title = l.select_one(이부분).text
contents = l.select_one(이부분).text
에서 이부분(클래스이름)이 실제 구글 f12(검사)에서 보이는 클래스 이름과 달라서 데이터를 못찾아 쌓이지 않았습니다.
영상을 만들 당시와 제가 공부하던 시기가 달라 영상과 그대로 적용해서는 안되었던 것 같습니다.
ps. title = l.select_one("h3.LC20lb.DKV0Md").text
div 사이에 . 을 꼭 넣어주셔야 합니다. LC20lb.DKV0Md
0
12.28일 추가합니다
h3.LC20lb.DKV0Md 하위에 span이 존재하여
("h3.LC20lb.DKV0Md > span") 로 하위 텍스트를 읽어야 DB에 저장됩니다.
0
0
일단 try except 를 제거하고 어떤 오류가 나는지 확인해보시기 바랍니다. try 문은 코드가 100% 확실할때 사용하는걸 추천합니다. 그리고 코드를 단순화 하여 접속 후 아무 기능없이 그냥 아무 데이터나 db.insert 되는지 먼저 확인해보시는게 좋습니다. 이런식으로 코드를 단순화해서 어디서 어떤 문제가 발생하는지를 유추하실 수 있어야 차후에 코드가 커졌을때도 오류를 찾아낼 수 있습니다.
import requests
from bs4 import BeautifulSoup
from pymongo import MongoClient
from datetime import datetime
client = MongoClient("mongodb://joseph:0430@localhost:27017/admin") #flask pymongo가 아니라 pymongo를 직접 사용 host="localhost", port=27017
db = client.myweb
col = db.board # 이렇게 db에 접근을 한다.
col.insert_one({
"name": "테스트"
})
이런식으로 코드를 최소화하여 데이터가 정상적으로 저장되는지부터 확인해보셔야 할듯 합니다. 그리고 인증의 문제라면 파이몽고 버전에 따라 db에 아이디 비번이 걸렸을시 동작하는게 좀 달랐던 기억이 있습니다. authenticate() 함수를 사용한적도 있고.. 구글링을 하여 여러가지 테스트를 해보셔야 할듯 합니다.