inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

인스턴스 변수와 클래스 변수

해결됨

기초 탄탄! 독하게 시작하는 Java - Part 1 : 절차적 프로그래밍

섹션 7. 변수와 주석문 - 32. 변수 종류와 Stack 그리고 GC의 원리 - 07:50 클래스 변수에 대한 설명이 부정확합니다. class Example { int a; // 인스턴스 변수 또는 멤버 변수 static int b; // 클래스 변수 }

  • java
한백년 댓글 2 좋아요 1 조회수 162

챗봇 생성시 에러

미해결

RAG를 활용한 LLM Application 개발 (feat. LangChain)

안녕하세요, gemini를 이용해서 챗봇 생성중에 있습니다. 그런데 하기와 같이 챗봇을 llm과 연동하는 중에 에러가 계속 발생합니다. gpt한테 계속 물어가면서 에러잡고있는데 계속 동일한 에러만 나오네요. ㅠ 어떻게 개선할 수 있을까요? 조언부탁드립니다. 감사합니다. 코드) import streamlit as st from langchain import hub from dotenv import load_dotenv from langchain_google_genai import GoogleGenerativeAIEmbeddings from langchain_pinecone import PineconeVectorStore from langchain_google_genai import ChatGoogleGenerativeAI from langchain.chains import RetrievalQA from langchain.prompts import ChatPromptTemplate st.set_page_config(page_title="영향분석 챗봇", page_icon="★") st.title("영향분석 챗봇") st.caption("System 변경 영향 분석") load_dotenv() # 세션 상태에 메시지 리스트가 없으면 초기화 if 'message_list' not in st.session_state: st.session_state.message_list = [] # 이전 메시지 출력 for message in st.session_state.message_list: with st.chat_message(message["role"]): st.write(message["content"]) def get_ai_message(user_message): try: # 입력 메시지 확인 if not isinstance(user_message, str) or not user_message.strip(): return "질문이 비어 있습니다. 유효한 질문을 입력해 주세요." print(f"user_message: {user_message}") # user_message의 내용 출력 print(f"user_message length: {len(user_message)}") # 문자열 길이 출력 print(f"user_message type: {type(user_message)}") # 타입 출력 # Google Generative AI Embeddings 모델 초기화 embedding = GoogleGenerativeAIEmbeddings(model='models/gemini-embedding-exp-03-07') index_name = 'uml-index' database = PineconeVectorStore.from_existing_index(index_name=index_name, embedding=embedding) llm = ChatGoogleGenerativeAI(model="gemini-2.0-flash") prompt_template = hub.pull("rlm/rag-prompt") retriever = database.as_retriever(search_kwargs={'k': 4}) # RetrievalQA 인스턴스 생성 qa_chain = RetrievalQA.from_chain_type(llm, retriever=retriever, chain_type_kwargs={"prompt": prompt_template}) dictionary = ["External Entity -> actor"] prompt = ChatPromptTemplate.from_template(f""" 사용자의 질문을 보고, 우리의 사전을 참고해서 사용자의 질문을 변경해주세요. 만약 변경할 필요가 없다고 판단된다면, 사용자의 질문을 변경하지 않아도 됩니다. 그런 경우에는 질문만 리턴해주세요. 사전 : {dictionary} 질문 : {{question}} """) dictionary_chain = prompt | llm uml_chain = {"query": dictionary_chain} | qa_chain ai_message = uml_chain.invoke({"question": user_message}) return ai_message except Exception as e: print(f"오류 발생: {repr(e)}") # 오류 메시지 출력 print(f"입력된 user_message: {user_message}") # 오류 발생 시 입력된 메시지 출력 return f"오류가 발생했습니다: {repr(e)}" # 사용자 입력 처리 if user_question := st.chat_input(placeholder="CR 내용을 첨부해주세요"): with st.chat_message("user"): st.write(f"사용자 질문: {user_question}") st.session_state.message_list.append({"role": "user", "content": user_question}) ai_message = get_ai_message(user_question) with st.chat_message("AI"): st.write(ai_message) st.session_state.message_list.append({"role": "AI", "content": ai_message}) 에러) user_message: 시스템에 연결된 External Entity를 알려주세요 user_message length: 31 user_message type: <class 'str'> 오류 발생: GoogleGenerativeAIError('Error embedding content: bad argument type for built-in operation') 입력된 user_message: 시스템에 연결된 External Entity를 알려주세요

  • vector-database
  • llm
  • langchain
  • rag
  • openai-api
댓글 2 좋아요 0 조회수 146

식별자로 '$' 문자 사용

해결됨

기초 탄탄! 독하게 시작하는 Java - Part 1 : 절차적 프로그래밍

섹션 7. 변수와 주석문 31. 변수 이름 - 식별자 - 02:24 개발환경 JDK21에서 '$'를 식별자에 사용할 수 있습니다.

  • java
한백년 댓글 2 좋아요 0 조회수 98

여러 객체를 상태 관리하는 방법에 대한 질문

미해결

[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!

코드팩토리 디스코드에 질문하면 더욱 빠르게 질문을 받아 볼 수 있습니다! [코드팩토리 디스코드] https://bit.ly/3HzRzUM - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 강의에서 여러 객체에 대한 상태를 관리할 때, CursorpatnationBase라는 상태를 기반으로 관리할 수 있다는 것을 이해했습니다. 그런데, 만약 list의 크기가 짧아서 페이징을 필요로 하지 않는 케이스는, Map<String, Object> 타입을 통해 상태 관리를 하는 것도 괜찮은 방법일까요?

  • flutter
  • 하이브리드-앱
helloworld 댓글 2 좋아요 0 조회수 106

스타일링 라이브러리

해결됨

배달앱 클론코딩 [with React Native]

강사님 안녕하세요. 강의 잘 듣고 있습니다! 강의에서 스타일링을 하실때 리액트 네이티브 기본 styleSheet를 사용해서 개발하시는데, 현재 강의에서 개발하는 토이프로젝트 규모의 앱이 아니라, 실제 서비스용 앱을 개발하실때에도 기본 styleSheet를 사용해서 개발하시는지 아니면 다른 외부 라이브러리를 사용해서 개발하시는지 궁금합니다! next.js 강의에서는 Vanilla Extract를 추천해주셨는데, 리액트 네이티브에서는 Vanilla Extract와 같이 추천하는 스타일링 라이브러리가 있으신지 아니면 기본 styleSheet만으로 충분하다고 생각하시는지 조언들 듣고 싶습니다. 감사합니다!

  • react-native
freshour 댓글 2 좋아요 0 조회수 189

AI 음성 에러 수정 요청

미해결

Next.js 15로 완성하는 실전 YouTube 클론 개발

수정 부탁드립니다. "에서만 사용할 수 있는 기능입니다."

  • react
  • postgresql
  • 클론코딩
  • next.js
  • tailwindcss
  • drizzle
fdongfdong 댓글 1 좋아요 1 조회수 124

행별 합

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

이전에는 행별 합을 구할 때 df.T를 사용했던 거 같은데 sum(axis=1)을 사용해도 되는건가요?

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
오오렐레 댓글 2 좋아요 0 조회수 72

작업형 3혼란

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

선생님 각각의 설명을 들으면 이해가 되고 알겠는데 그걸 어느문제에 어떤 순서로 적용을 시켜야 하는지를 잘 모르겠습니다 이건 문제를 보면서 익혀야하는걸까요?

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
김지수 댓글 2 좋아요 0 조회수 71

오브젝트모드에서는 안보이는 현상

해결됨

친절한 블렌더 - [LV.2] 모델링 연습

안녕하세요 처음에는 이렇게 벽이 잘 보이는 상태인데요 저 창문있는 벽빼고 다 루프컷을 넣어줬을때까지만해도 벽이 오브젝트 모드에서는 잘보였어요 그런데 창문쪽에도 그 나무판자쪽 까지 루프컷 주고나니까 오브젝트모드에서 바로 안보여요.... 그래서 아 밑에선을 올리고 익스트루드해봐야겠다하고 선을 올리기만하고 오브젝트모드에서 확인해보았는데 바로 저렇게 저 창문벽빼고 나머지 벽이 다 안보여요... 에디트모드 들어가면 벽들이 전부 잘 있어요 근데 오 브젝트 모드에선 자꾸 이렇게 안보여요 어떻게 해결해야하나요?..................

  • blender
  • 3d
  • 3d-rendering
  • 3d-modeling
망그리 댓글 2 좋아요 1 조회수 134

pinecone 임포트 부분이 에러가발생합니다

해결됨

RAG를 활용한 LLM Application 개발 (feat. LangChain)

파이썬 버전 3.10.11입니다 윈도우 vscode에서 테스트해보고 있어요

  • vector-database
  • llm
  • langchain
  • rag
  • openai-api
ssh7423 댓글 2 좋아요 0 조회수 185

구름예시 3번문제

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

구름예시문제 작업형3에서 마지막 독립표본t검정 하라고해서 모수적검정 해도 되는지 확인 차 로그리지스틴 샤피로검정 했는데 1집단 샤피로검정 p값이 0.035네요 이런 경우 만휘트니검정을 해야하나요? 아니면 문제에서 제시한 대로 그냥 모수적검정인 독립표본t검정을 해야하는지 비모수적검정인 만휘트니유 검정을 해야하는지 궁금합니다

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
동준 김 댓글 2 좋아요 0 조회수 101

시험에서 답안지 작성시 풀이과정을 꼭 써야 하나요?

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

이번에 시험보고 탈락을 한 수험자입니다. 답안 작성시 풀이과정과 답을 함께 작성해야 한다고 해서 적잖게 당황하여 시간이 모자랐었는데 결국 떨어졌네요. 제 질문은 풀이과정을 반드시 써야하나요? '답' 칸을 제외한 나머지 공간에 동그라미와 밑줄을 치며 낙서를 해도 되나요? 풀이과정을 쓸 수 있는 공간 자체 부족해 보였는데 답답합니다. 속시원히 누가 얘기좀 해주면 좋겠습니다.

  • python
  • java
  • c
  • 정보처리기사
mclceo119 댓글 1 좋아요 0 조회수 337

개발 강의 추천 부탁드립니다.

미해결

[3줄 요약] 비전공자로 10년 전 JSP, PHP 기반 개발 경험이 있으며, 현재는 헤드헌터로 활동 중입니다. React + Java(Spring) + MongoDB 기반으로 헤드헌터 업무에 활용할 수 있는 웹/모바일 플랫폼을 직접 개발하고자 합니다. 기술 공백과 최신 스택(Git 등) 부족으로 학습 방향 및 인프런/부트캠프 강의 추천이 필요합니다. [본문] 안녕하세요. 현재 40세, 비전공자(경영학과)이며, 현재는 헤드헌터로 활동 중입니다. 12년 전 독학과 오프라인 Java 강의(6개월) 수강 후 JSP 기반 웹 개발을 약 6개월, 또한 웹호스팅 업체에서 리눅스/윈도우 서버 운영과 PHP 유지보수를 약 1년간 경험했습니다. 퇴사 후 HTML5, CSS3, PHP, MySQL 기반으로 1인 창업 프로젝트(플랫폼)를 개발 경험도 있으나, 프론트엔드 실무 한계로 인해 학원과 인강으로 보완했지만 실무 수준에 도달하기는 어려웠습니다. 이후 창업을 접고 현재는 헤드헌터 일을 8년째 하고 있습니다. 최근 AI 도구(GPT, CURSOR 등)로 인해 1인 개발의 장벽이 많이 낮아졌다고 느꼈고, 사이드프로젝트로 다시 한번 플랫폼을 만들어보자는 생각에 도전하고 있습니다. 우선 서버는 아마존이나 네이버 등 1년 동안 무료로 제공하는 클라우드를 생각하고 있습니다. [프로젝트 방향] 목표: 헤드헌터 업무에 활용 가능한 게시판 중심의 웹 & 모바일 플랫폼 프론트엔드: React 백엔드: Java(Spring), 일부 Python (데이터 분석용) DB: MongoDB (NoSQL 기반) 기능: 기능: 엑셀 데이터 업로드/필터링, 검색, 태그, 동료와 공유 및 협업 플랫폼: PC 웹 + Android 우선 대응 [현재 느끼는 기술적 한계] 10년 이상의 개발 공백 → 신규 기술 감각이 거의 없음 Git, 협업 툴, 배포 등 실무적인 스택을 제대로 써본 적 없음 과거 창업 경험 덕에 HTML/CSS/JS 기본 흐름은 이해 주당 약 20시간 정도 학습 및 개발 시간 확보 가능 [현재 계획 중인 학습 우선순위] 모든 강의를 다 듣기엔 시간 제약 이 있으므로, 아래와 같은 것부터 선택적으로 수강 하려고 합니다. React 중심 프론트엔드 학습 – 프로젝트 기반으로 실습 위주 Spring 백엔드 학습 – REST API + MongoDB 연동 포함 Git, 배포, 협업 도구 등 실무 환경 익히기 Python 기초 + 데이터 분석 활용 (선택적) (Node.js나 웹 자동화는 현재는 후순위입니다) 시간상 모든 강의를 다 들을 수는 없어, 섹션별로 필요한 내용만 골라 수강할 수 있는 방식이 있는지 궁금합니다. 또한 혼자서 진행하는 프로젝트이기에, 코드 리뷰나 피드백 커뮤니티가 병행되는 부트캠프가 있다면 병행하고 싶습니다. 비슷한 경험을 하신 분이나, 인프런/코드잇 등에서 유익했던 강의나 커뮤니티가 있다면 조언 부탁드립니다 감사합니다. #사이드프로젝트 #React #JavaSpring #MongoDB #프론트엔드 #백엔드 #풀스택도전 #개발공백극복 #IT학습로드맵 #인프런강의추천 #코드잇추천

  • react
  • java
  • spring
  • python
  • mongodb
  • git
  • 풀스텍
  • 사이드프로젝트
  • 창업
  • 강의추천
티키타카 댓글 1 좋아요 0 조회수 84

train_test_split random_state 질문입니다.

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

데이터 분리에서 random_state 2025와 random_state 0를 사용할 때 각각 학습 검증값이 다른데 이것도 모델처럼 하이퍼파라미터(max_depth, n_estimators)를 수정해가며 검증값을 측정하는게 맞나요 ? 체험형 문제에서 X_tr, X_val, y_tr, y_val = train_test_split(train, target, test_size = 0.2, random_state = 2025)로 작성하니 rmse 값이 923이 나왔고, random_state를 0으로 바꾸니 800대가 나오네요.

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
댓글 2 좋아요 0 조회수 88

유출 통지와 신고 시점

해결됨

2026년 CPPG 개인정보관리사 자격증 취득하기 (개정안 반영)

신용정보법에서 개인신용정보가 누설되었음을 알게 되었을 때 통지나 신고 시점이 강의에서는 5일 이내라고 되어있는데 신정법 시행령에서 해당 내용을 찾을 수 없었습니다. pdf 개념서에는 72시간 이내라고 되어있는데 72시간이내가 맞는 걸까요?

  • security
  • cppg(개인정보관리사)
cookie7892 댓글 2 좋아요 0 조회수 276

최종프로젝트 상세페이지 출력 오류 문의드립니다!

해결됨

한 번에 끝내는 자바스크립트: 바닐라 자바스크립트로 SPA 개발까지

세션 9. 최종 프로젝트 cityDetail 개발-2 에서 https://trip-wiki-api.vercel.app/ 강사님이 알려주셨던 링크에는 상세페이지 이미지와 받는 정보가 없습니다! 어떻게 상세페이지를 출력할 수 있나요? Japan을 검색창에서 검색하고 상세페이지를 눌렀지만 아무런 정보가 출력되지 않고 있습니다! import Header from "./components/Header.js"; import RegionList from "./components/RegionList.js"; import CityList from "./components/CityList.js"; import CityDetail from "./components/CityDetail.js"; import { request, requestCityDetail } from "./components/api.js"; export default function App($app) { const getSortBy = () => { if (window.location.search) { return window.location.search.split("sort=")[1].split("&")[0]; } return "total"; }; const getSearchWord = () => { if (window.location.search && window.location.search.includes("search=")) { return window.location.search.split("search=")[1]; } return ""; }; this.state = { startIdx: 0, sortBy: getSortBy(), region: window.location.pathname.replace("/", ""), searchWord: getSearchWord(), cities: "", currentPage: window.location.pathname, }; const renderHeader = () => { new Header({ $app, initialState: { currentPage: this.state.currentPage, sortBy: this.state.sortBy, searchWord: this.state.searchWord, }, handleSortChange: async (sortBy) => { const pageUrl = `/${this.state.region}?sort=${sortBy}`; history.pushState( null, null, this.state.searchWord ? pageUrl + `&search=${this.state.searchWord}` : pageUrl ); const cities = await request( 0, this.state.region, sortBy, this.state.searchWord ); this.setState({ ...this.state, startIdx: 0, sortBy: sortBy, cities: cities, }); }, handleSearch: async (searchWord) => { history.pushState( null, null, `/${this.state.region}?sort=${this.state.sortBy}&search=${searchWord}` ); const cities = await request( 0, this.state.region, this.state.sortBy, searchWord ); this.setState({ ...this.state, startIdx: 0, cities: cities, searchWord: searchWord, }); }, }); }; const renderRegionList = () => { new RegionList({ $app, initialState: this.state.region, handleRegion: async (region) => { history.pushState(null, null, `/${region}?sort=total`); const cities = await request(0, region, "total"); this.setState({ ...this.state, startIdx: 0, sortBy: "total", region: region, cities: cities, searchWord: "", currentPage: `/${region}`, }); }, }); }; const renderCityList = () => { new CityList({ $app, initialState: this.state.cities, handleItemClick: async (id) => { history.pushState(null, null, `/city/${id}`); this.setState({ ...this.state, currentPage: `/city/${id}`, }); }, handleLoadMore: async () => { const newStartIdx = this.state.startIdx + 40; const newCities = await request( newStartIdx, this.state.region, this.state.sortBy ); this.setState({ ...this.state, startIdx: newStartIdx, cities: { ...this.state.cities, cities: [...this.state.cities.cities, ...newCities.cities], isEnd: newCities.isEnd, }, }); }, }); }; const renderCityDetail = async (cityId) => { try { const cityDetailData = await requestCityDetail(cityId); new CityDetail({ $app, initialState: cityDetailData }); } catch (err) { console.log(err); } }; const render = async () => { const path = this.state.currentPage; $app.innerHTML = ""; // 상세 페이지로 이동 if (path.startsWith("/city/")) { const cityId = path.split("/city/")[1]; renderHeader(); renderCityDetail(cityId); } else { renderHeader(); renderRegionList(); renderCityList(); } }; this.setState = (newState) => { this.state = newState; render(); }; const init = async () => { const path = this.state.currentPage; // 메인 페이지 if (!path.startsWith("/city")) { const cities = await request( this.state.startIdx, this.state.region, this.state.sortBy, this.state.searchWord ); this.setState({ ...this.state, cities: cities, }); } // 상세페이지 else { render(); } }; window.addEventListener("popstate", async () => { const urlPath = window.location.pathname; const prevRegion = urlPath.replace("/", ""); const prevPage = urlPath; const prevSortBy = getSortBy(); const prevSearchWord = getSearchWord(); const prevStartIdx = 0; const prevCities = await request( prevStartIdx, prevRegion, prevSortBy, prevSearchWord ); this.setState({ ...this.state, startIdx: prevStartIdx, sortBy: prevSortBy, region: prevRegion, currentPage: prevPage, searchWord: prevSearchWord, cities: prevCities, }); }); init(); } //API.js 코드입니다! export default function CityDetail({ $app, initialState }) { this.state = initialState; this.$target = document.createElement("div"); this.$target.className = "city-detail"; $app.appendChild(this.$target); const getScoreColor = (score) => { // let scoreNumber = parseInt(score); if (score >= 4) return "green"; if (score >= 3) return "yellow"; return "red"; }; this.template = () => { let cityData = this.state.CityDetail; let temp = ``; if (cityData) { temp = `<div class="image-banner"> <img src="${cityData.image}"/> <div class="city-name"> <div class="city">${cityData.city}</div> <div class="country">${cityData.region} / ${cityData.country}</div> </div> </div> <div class="progress-container"> <div class="info-item"> <div class="label">⭐ Total Score</div> <div class="progress-bar" score-color="${getScoreColor( cityData.total )}" style="--score:${cityData.total * 20}%"></div> </div> <div class="info-item"> <div class="label">💵 Cost</div> <div class="progress-bar" score-color="${getScoreColor( cityData.info.cost )}" style="--score:${cityData.info.cost * 20}%"></div> </div> <div class="info-item"> <div class="label">😆 Fun</div> <div class="progress-bar" score-color="${getScoreColor( cityData.info.fun )}" style="--score:${cityData.info.fun * 20}%"></div> </div> <div class="info-item"> <div class="label">🚓 Safety</div> <div class="progress-bar" score-color="${getScoreColor( cityData.info.safety )}" style="--score:${cityData.info.safety * 20}%"></div> </div> <div class="info-item"> <div class="label">🌐 Internet</div> <div class="progress-bar" score-color="${getScoreColor( cityData.info.internet )}" style="--score:${cityData.info.internet * 20}%"></div> </div> <div class="info-item"> <div class="label">💨 Air Condition</div> <div class="progress-bar" score-color="${getScoreColor( cityData.info.air )}" style="--score: ${cityData.info.air * 20}%"></div> </div> <div class="info-item"> <div class="label">🍜 Food</div> <div class="progress-bar" score-color="${getScoreColor( cityData.info.food )}" style="--score: ${cityData.info.food * 20}%"></div> </div> </div> `; } return temp; }; this.render = () => { this.$target.innerHTML = this.template(); }; /* this.setState = (newState) => { this.state = newState; this.render(); }; */ this.render(); } //cityDetail.js 상세페이지 코드입니다!

  • javascript
  • rest-api
  • spa
  • dom
안연수 댓글 2 좋아요 0 조회수 127

강의자료

미해결

3D 모델링 입문을 위한 라이노(Rhino) '꿀팁' Part.1

강의 학습자료 암호가 어떻게 되나요?

  • Rhino
댓글 2 좋아요 0 조회수 122

안드로이드스튜디오 버전이 어떻게 되는지요?

해결됨

[2023 코틀린 강의 무료제공] 기초에서 수익 창출까지, 안드로이드 프로그래밍 A-Z

앱을 만들고 싶어 강의를 시작했습니다. 이해하기 쉽도록 강의가 되어 있어서 좋네요 그런데 강의에서 보여지는 안드로이드스튜디오 소스 스타일과 제가 다운받은 android-studio-2024.3.2.15-windows.exe 버전이 상이해서 문의 드립니다. new project->empty project로 만들고 나면 layout에는 activitymain도 없고, mainactivity의 소스 내용도 상이합니다. 안드로이드스튜디오를 이제 처음 켜보니 어떻게 해야할지 모르겠어요..ㅠㅠ 안드로이드스튜디오 버전을 강의에서 사용한 버전으로 바꿔야 하는지... 아님 현재 버전을 이용할 경우 어떻게 하면 강의를 잘 따라갈수 있는지...난관에 붙혀서 문의 드립니다.

  • android
  • kotlin
  • 클론코딩
파란하트 댓글 1 좋아요 0 조회수 143

네이버쇼핑 크롤링 예제 관련

미해결

[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)

네이버 쇼핑 크롤링예제 부분에서 그냥 requests로 한번 접속해보고 그 다음에 셀레니움으로 접속해봤는데 둘다 접속 제한 페이지만 나옵니다.ㅜㅜ. 여러번 시도 한것도 아닌데 지금 시점 네이버쇼핑이 원래 빡시게 막아 놓은건가가요? 방법이 없나요?

  • python
  • 웹-크롤링
김정호 댓글 2 좋아요 0 조회수 549

인기 태그

인프런 TOP Writers

주간 인기글