해결된 질문
작성
·
54
0
답변 2
0
몽고 db의 파일은 복사해서 전송해드리는게 간단한 문제가 아닙니다. 일단 그 전에 왜 DB가 생성이 안되는지 부터 점검을 해보셔야 할 듯 합니다. db 생성이 어떤 이유에서 안된다면 차후 강의 진행에 계속 문제가 될 수 있는 여지가 너무 많고 dump를 떠서 복사한들 그 역시 복원 안될 확률이 너무 큽니다.
강의의 어떤 부분을 진행했고, 어떻게 실행했으며, 그 결과로 어떤 오류가 발생했는지 좀 더 상세히 말씀주시고 화면스샷도 주신다면 제가 문제점을 추측해보는데 많은 도움이 될 듯 합니다.
번거로우시겠지만 그렇게 일단 해결부터 하고 진행하시는게 좋을듯 합니다. 아니면 요즘은 AI 성능이 월등히 좋기 때문에 문제가 되는 증상이나 화면 스샷을 챗GPT나 클로드, 제미나 같은 AI 한테 질문을 해도 생각보다 좋은 답변을 얻으실 수도 있으니 그 부분도 참고하시기 바랍니다.
아! 지금 구글 검색이 막혀서 검색 결과를 얻지 못해서 생기는 문제셨군요. 현재 구글의 내부적으로 업데이트 되며 이전 방식의 크롤링 코드가 동작하지 않고 있습니다만 그 문제라면 다음의 코드로 수정해서 테스트 해보시기 바랍니다.
# 먼저 아래의 외부 라이브러리를 설치해야 합니다.
# 터미널에서 다음 명령어를 실행해 googlesearch-python 라이브러리를 설치하세요.
# 만약 이전에 설치한 경우 업그레이드를 하셔야 합니다.
# pip install --upgrade googlesearch-python
from googlesearch import search
query = "파이썬 강좌"
for r in search(query, num_results=10, advanced=True):
title = r.title
contents = r.description
url = r.url
print(f"Title: {title}")
print(f"Contents: {contents}")
print(f"URL: {url}")
print("-" * 40)
위의 코드는 googlesearch-python 라이브러리를 먼저 설치 해야 합니다.
pip install --upgrade googlesearch-python
이전 버전이 설치 되어있더라도 pip 명령을 통해 반드시 업그레이드 하셔야 합니다.
코드를 실행하면 그림과 같이 정상적으로 데이터를 가져오는 것을 확인 할 수 있습니다. 해당 코드는 강의 자료에도 적용시켜 놓도록 하겠습니다.
더 궁금하신 사항 있으시면 또 질문 주시기 바랍니다.
from pymongo import MongoClient
from datetime import datetime,timezone
import random
from googlesearch import search
# 몽고DB
client = MongoClient(host="localhost", port=27017)
db = client.myweb
col = db.board
query = "파이썬 강좌"
# 게시물 작성시간 기록을 위해 현재시간 저장 (utc 타임)
current_utc_time=round(datetime.now(timezone.utc).timestamp()*1000)
for r in search(query, num_results=50, advanced=True):
title = r.title
contents = r.description
url = r.url
try:
# 몽고DB에 저장py
# 작성자와 writer_id 설정 필요
col.insert_one({
"name": "테스터",
"writer_id": f"wid-00{random.randint(111,999)}",
"title": title,
"contents": contents,
"url":url,
"view": random.randrange(1, 99),
"pubdate": current_utc_time
})
except:
pass
수정된 소스 올려봅니다.
db 생성 확인도 마쳤습니다.
0
안녕하세요, 인프런 AI 인턴입니다. sbsys46님.
몽고DB에 데이터를 삽입하는 과정에서 문제가 발생한 것 같습니다. 이런 경우 기본적인 DB 연결 설정이나 데이터 삽입 코드에 문제가 있을 가능성이 높습니다. 하지만 데이터가 없는 상태에서 이후 강의로 진행하기 어려움을 겪고 계신다면, 다음의 정보를 확인해 보시면 도움이 될 수 있습니다.
DB 연결 확인: MongoDB 서버와 연결이 잘 되어 있는지 확인해야 합니다. 보통 MongoClient
설정에서 localhost
와 포트 번호가 올바른지 확인해보세요.
데이터 삽입 코드 검토: 데이터 삽입 코드를 다시 한 번 점검해 보세요. 기존에 insert()
대신 insert_one()
또는 insert_many()
메소드로 변경해야 할 경우가 있습니다.
구현 예시
client = MongoClient(“mongodb://localhost:27017/”)
db = client[“sample_db”]
collection = db[“sample_collection”]
sample_data = {“name”: “테스트”, “title”: “샘플 제목”, “content”: “이것은 샘플 데이터입니다.”}
collection.insert_one(sample_data)
“`
만약 코드상의 문제가 아닌 다른 부분에서 어려움이 있으시다면, 강의 내 질문 게시판에서 더 구체적인 코드를 제공하시거나 강사님께 추가적인 도움을 요청하시는 것도 좋습니다.
또한, google.py
에 대한 구체적인 코드 변경이 필요하다면, 이미 맞닥뜨린 문제와 해결책이 있는 경우 참고하실 수 있도록 질문 게시판 링크를 공유드립니다:
- google.py 작성 후 board db에 데이터가 안 생깁니다.
- google.py 데이터가 안생깁니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.