실전형 인공지능 분석, 빅데이터 분석, 앱 개발에 대해 경험한 내용을 여러분과 공유하고 싶습니다.
부족한 점이 있더라도 많이 응원해주시면, 더 열심히 노력해보겠습니다. 감사합니다.
Courses
Reviews
- Excel crawling without coding. From WEB to ChatGPT API
- Excel crawling without coding. From WEB to ChatGPT API
- [Python beginner] ChatGPT voice translation app made with Flutter
- [Python beginner] ChatGPT voice translation app made with Flutter
- [Python beginner] ChatGPT voice translation app made with Flutter
Posts
Q&A
함수를 이용한 페이징 처리_함수 오류
안녕하세요? heejk1226님 올려주신 화면을 보기로는... 글씨가 더 크게보이는데요.전각문자라고 하는 형태로 입력이 되어서 변수명을 잘 인식하지 못하는 것 같습니다.참고 : https://ohhohohong.tistory.com/entry/%EC%88%AB%EC%9E%90-%EC%98%81%EB%AC%B8%EC%9D%B4-%ED%81%AC%EA%B2%8C-%EC%A0%81%ED%9E%88%EB%82%98%EC%9A%94-%EC%A0%84%EA%B0%81-%EB%B0%98%EA%B0%81-%ED%99%95%EC%9D%B8%ED%95%B4%EB%B3%B4%EC%84%B8%EC%9A%94 위 내용처럼 전각, 반각을 바꿔서 다시 입력해보시거나, 메모장 같은데서 같은 내용을 입력해보시고, 이 내용을 복붙해서 다시 시도해보시는 것을 추천합니다.성공하시길 바랍니다. 감사합니다.
- 0
- 2
- 27
Q&A
7강-삭제관련 내용
추가 의견이 없으셔서 해결로 상태변경하겠습니다. 감사합니다.
- 0
- 3
- 40
Q&A
테이블 자료 불러오기 오류
아래 heejk1226님께서 알려주셔서, 오류 부분 확인했습니다.다음 뉴스가 개편을 하면서 HTML구조와 URL이 바뀌어서 발생한 문제였고,1강에 보시면 첨부자료에 수정된 파일을 올려두었습니다.(https://www.inflearn.com/courses/lecture?courseId=335249&type=LECTURE&unitId=249289&tab=curriculum&subtitleLanguage=ko)URL이 바뀌었기 때문에 daum사이트에서 현재 URL을 사용하여 데이터를 수집하시면 정상적으로 테스트하실 수 있습니다. 감사합니다. 변경된 다음 뉴스 URL : https://search.daum.net/search?w=news&nil_search=btn&DA=NTB&enc=utf8&cluster=y&cluster_page=1&q=%EC%9D%B4%EC%8A%A4%EB%9D%BC%EC%97%98+%EC%A0%84%EC%9F%81변경된 다음 뉴스 최신순 URL : https://search.daum.net/search?w=news&nil_search=btn&DA=STC&enc=utf8&cluster=y&cluster_page=1&q=%EC%9D%B4%EC%8A%A4%EB%9D%BC%EC%97%98+%EC%A0%84%EC%9F%81&p=1&sort=recency
- 0
- 3
- 60
Q&A
7강-삭제관련 내용
안녕하세요? heejk1226님. 다비입니다.조달청 강의가 제공되지 못한 점 죄송하게 생각합니다.그리고, 한국은행 금융규제같은 수집처 내용을 제안해주신 것에 감사드립니다. 사실 조달청 부분은 웹수집과 API수집을 좀 더 연습하시기 바라는 마음에 포함한 부분이라서, 다른 챕터를 잘 따라하셨다면, 한국은행 금융규제와 같은 다른 웹페이지 API도 도전해보실 수 있는 실력을 가지고 계시리라 생각합니다. 조달청 API는 최근 재정비 되는 것으로 알고 있습니다. Web수집은 이전에 제가 테스트하고 답변드린 내용이 있어 아래에 링크 공유드립니다.https://www.inflearn.com/community/questions/1481879/%EB%82%98%EB%9D%BC%EC%9E%A5%ED%84%B0-url-%EC%88%98%EC%A7%91 한국은행 금융규제 관련해서는 본 강의 범위 밖의 내용이긴 합니다만, 구체적인 URL을 알려주시면 같이 방법을 찾아보겠습니다. 감사합니다.
- 0
- 3
- 40
Q&A
테이블 자료 불러오기 오류
안녕하세요? 서형준님. 다비입니다. 혹시 어느 챕터를 진행하고 계신 것인지 알려주시면 보다 빠른 확인 가능하겠습니다. 감사합니다.
- 0
- 3
- 60
Q&A
나라장터 URL 수집
POST로 바뀌면서 API체계를 따라가다 보니 내용이 많이 복잡해졌습니다. 참고하실 수 있도록 아래에 코드 추가해드립니다. 시기를 보아서 이 부분은 강의에서 내리거나 update하도록 하겠습니다.조달청API도 3개월 후에 정지된다는 메일을 받은 적이 있는데요. 안정성을 고려해서 조치하겠습니다. 미리 조치하지 못해 죄송합니다. POST통신을 하게 되면Header값처럼 별도로 POST통신에 사용하는 값을 전달해주어야 데이터에 접근할 수 있습니다. 나라장터의 경우 이 항목이 매우 많아 코드가 복잡함을 양해해주시기 바랍니다. let Payload = Text.ToBinary( "{""dlBidPbancLstM"":{""untyBidPbancNo"":"""",""bidPbancNo"":"""",""bidPbancOrd"":"""",""prcmBsneUntyNoOrd"":"""",""prcmBsneSeCd"":""0000 조070001 조070002 조070003 조070004 조070005 민079999"",""bidPbancNm"":""인공지능"",""pbancPstgDt"":"""",""ldocNoVal"":"""",""bidPrspPrce"":"""",""ctrtDmndRcptNo"":"""",""dmstcOvrsSeCd"":"""",""pbancKndCd"":""공440002"",""ctrtTyCd"":"""",""bidCtrtMthdCd"":"""",""scsbdMthdCd"":"""",""fromBidDt"":""20241208"",""toBidDt"":""20250107"",""minBidPrspPrce"":"""",""maxBidPrspPrce"":"""",""bsneAllYn"":""Y"",""frcpYn"":""Y"",""rsrvYn"":""Y"",""laseYn"":""Y"",""untyGrpGb"":"""",""dmstNm"":"""",""pbancPicNm"":"""",""odnLmtLgdngCd"":"""",""odnLmtLgdngNm"":"""",""intpCd"":"""",""intpNm"":"""",""dtlsPrnmNo"":"""",""dtlsPrnmNm"":"""",""slprRcptDdlnYn"":"""",""lcrtTyCd"":"""",""isMas"":"""",""isElpdt"":"""",""oderInstUntyGrpNo"":"""",""esdacYn"":"""",""infoSysCd"":""정010029"",""contxtSeCd"":""콘010006"",""bidDateType"":""R"",""brcoOrgnCd"":"""",""deptOrgnCd"":"""",""isShop"":"""",""srchTy"":""0"",""cangParmVal"":"""",""currentPage"":"""",""recordCountPerPage"":""10"",""startIndex"":1,""endIndex"":10}}" ), Source = Json.Document( Web.Contents("https://www.g2b.go.kr/pn/pnp/pnpe/BidPbac/selectBidPbacScrollTypeList.do", [ Headers = [ #"authority" = "www.g2b.go.kr", #"method" = "POST", #"path" = "/pn/pnp/pnpe/BidPbac/selectBidPbacScrollTypeList.do", #"scheme" = "https", #"accept" = "application/json", #"accept-encoding" = "gzip, deflate", #"accept-language" = "ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7,zh-CN;q=0.6,zh;q=0.5,zh-TW;q=0.4,zh-HK;q=0.3", #"content-type" = "application/json;charset=UTF-8", #"cookie" = "WHATAP=x2amc4safu1krv; XTVID=A2501071301227329; Path=/; infoSysCd=%EC%A0%95010029; _harry_ref=https%3A//www.google.com/; _harry_url=https%3A//www.g2b.go.kr/; _harry_fid=hh-1701578081; _harry_lang=ko-KR; system_language=ko; poupR23AB0000013415=done; poupR23AB0000013414=done; lastAccess=1736223179861; JSESSIONID=NWU3ZmNhMmEtODkyZC00YjdiLWExMzEtNmFjZWQyZDE4Zjk0; _harry_hsid=A250107165624222833; _harry_dsid=A250107165624222403; XTSID=A250107165624222203; xloc=1707X960; globalDebug=false; XTVID=A2501071301227329", #"menu-info" = "{""menuNo"":""01175"",""menuCangVal"":""PNPE001_01"",""bsneClsfCd"":""%EC%97%85130026"",""scrnNo"":""00941""}", #"origin" = "https://www.g2b.go.kr", #"priority" = "u=1, i", #"referer" = "https://www.g2b.go.kr/", #"sec-ch-ua" = """Google Chrome"";v=""131"", ""Chromium"";v=""131"", ""Not_A Brand"";v=""24""", #"sec-ch-ua-mobile" = "?0", #"sec-ch-ua-platform" = """Windows""", #"sec-fetch-dest" = "empty", #"sec-fetch-mode" = "cors", #"sec-fetch-site" = "same-origin", #"submissionid" = "mf_wfm_container_tacBidPbancLst_contents_tab2_body_sbmPbancBidPbancLst", #"target-id" = "btnS0004", #"user-agent" = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", #"usr-id" = "null" ], Content = Payload ] ) ), result = Source[result], #"테이블로 변환됨" = Table.FromList(result, Splitter.SplitByNothing(), null, null, ExtraValues.Error), #"확장된 Column1" = Table.ExpandRecordColumn(#"테이블로 변환됨", "Column1", {"prcmBsneSeCd", "prcmBsneSeCdNm", "pbancSeYnNm", "scsbdMthdDtlsCrtrNm", "scsbdMthdCd", "scsbdMthdDtlsCrtrNo", "bidPbancUntyNoOrd", "pbancSttsNm", "pbancSttsCd", "untyBidPbancNo", "untyBidPbancOrd", "bidPbancUntyNo", "bidPbancUntyOrd", "bidPbancNm", "oderInstUntyGrpNo", "oderInstUntyGrpNm", "dmstNm", "pbancPstgDt", "linkInstPbancLnkUrl", "untyBidPbancRegTyCd", "bidMthdCd", "aagrSbmsnElctHdwrSeCd", "rowNum", "prcmBsneUntyNo", "prcmBsneUntyOrd", "bidClsfNo", "bidPrgrsOrd", "bsneClsfCd", "prcmBsneUntyOdn3Val", "prcmBsneUntyOdn4Val", "prcmBsneUntyOdn5Val", "prcmBsneUntyOdn6Val", "prcmBsneUntyOdn7Val", "pbancPicId", "pbancPicNm", "lastPbancYn", "currentPage", "recordCountPerPage", "nextRowYn", "sessUsrIpar", "prgrsUntyPrcmBsneNo", "orderByYn", "gupBsneUntNo", "gupBsneUntNm", "stepBsneUntNo", "stepBsneUntNm", "prssBsneUntNo", "prssBsneUntNm", "bsnePrssPrgrsSeCd", "bsnePrssPrgrsSeNm", "prcsDt", "bsneFlowNo", "prcsRsn", "menuCangVal", "cangParmVal", "resultCode", "resultMsg"}, {"prcmBsneSeCd", "prcmBsneSeCdNm", "pbancSeYnNm", "scsbdMthdDtlsCrtrNm", "scsbdMthdCd", "scsbdMthdDtlsCrtrNo", "bidPbancUntyNoOrd", "pbancSttsNm", "pbancSttsCd", "untyBidPbancNo", "untyBidPbancOrd", "bidPbancUntyNo", "bidPbancUntyOrd", "bidPbancNm", "oderInstUntyGrpNo", "oderInstUntyGrpNm", "dmstNm", "pbancPstgDt", "linkInstPbancLnkUrl", "untyBidPbancRegTyCd", "bidMthdCd", "aagrSbmsnElctHdwrSeCd", "rowNum", "prcmBsneUntyNo", "prcmBsneUntyOrd", "bidClsfNo", "bidPrgrsOrd", "bsneClsfCd", "prcmBsneUntyOdn3Val", "prcmBsneUntyOdn4Val", "prcmBsneUntyOdn5Val", "prcmBsneUntyOdn6Val", "prcmBsneUntyOdn7Val", "pbancPicId", "pbancPicNm", "lastPbancYn", "currentPage", "recordCountPerPage", "nextRowYn", "sessUsrIpar", "prgrsUntyPrcmBsneNo", "orderByYn", "gupBsneUntNo", "gupBsneUntNm", "stepBsneUntNo", "stepBsneUntNm", "prssBsneUntNo", "prssBsneUntNm", "bsnePrssPrgrsSeCd", "bsnePrssPrgrsSeNm", "prcsDt", "bsneFlowNo", "prcsRsn", "menuCangVal", "cangParmVal", "resultCode", "resultMsg"}) in #"확장된 Column1"
- 0
- 4
- 568
Q&A
나라장터 URL 수집
안녕하세요? 개편이 크게 되었네요. ^^ 가장 큰 변화가 기존에는 통신 방식이 GET이었는데요. POST로 바뀌었네요.개발자도구에서 파일 형식을 Doc가 아닌 JS로 하면 selectBidPbacScrollTypeList.do를 보실 수 있는데요. 이 파일을 클릭해보시면 원하시는 정보가 JSON형식으로 들어 있습니다.따라서 이 파일을 수집하셔야 하는데요. Headers를 보시면 Request Method가 POST로 되어있습니다.(사진) (사진) POST통신은 사실 강의 범위 밖의 내용이라 개편 후 사이트에 맞게 추가 테스트를 해야 답을 드릴 수 있겠습니다. 그나마 엑셀 다운로드 기능이 추가 되어 바로 데이터를 다운로드 할 수 있게 되었으니, 이 기능을 이용해보시는 것을 권해드립니다. 감사합니다.
- 0
- 4
- 568
Q&A
나라장터 URL 수집
안녕하세요?크롤링은 상대방 웹사이트의 구조에 맞춰서 데이터를 가져오기 때문에,개편을 하면 대부분 구조가 바뀌어 이전 방식으로 수집이 안되는 경우가 많습니다. 저도 개편된 구조를 한 번 살펴보고 다시 답변 드리도록 하겠습니다. 감사합니다.
- 0
- 4
- 568
Q&A
[질문] 네이버쇼핑 - 로그인이 필요한 제품에 가격 가져오기
안녕하세요?좋은 질문해주셔서 감사합니다. API는 여러 개 신청할 수 있습니다. 올려주신 화면만 보면, 휴대폰 인증이 안되어 있는 것으로 보입니다. 한 번 확인 부탁 드리겠습니다. 그리고, 위 업체정보와 가격정보 내용은 API가 제공하지 않는 정보입니다.API는 상품목록(상품검색결과 화면을 생각하시면 될 것 같습니다.) 중 일부 정보를 제공합니다.따라서, 추가정보 수집을 원하시면 웹페이지 크롤링 작업을 하셔야 합니다. (아래 예시 참고)그런데, 엑셀로 로그인을 하는 크롤링은 난이도가 많이 올라가서, 엑셀 파워쿼리로 하시는 것보다는 파이썬 Selenium등을 이용해서 수집하는 것이 일반적입니다. 로그인이 없는 경우라면, 아래 그림처럼 수집이 가능합니다.상품이 여러개인 경우는 강의 내용 중 섹션6의 반복처리 부분을 참고하셔서 뒷 부분의 제품고유번호를 반복처리하실 수 있겠습니다.https://search.shopping.naver.com/catalog/13505853937(사진) 감사합니다.
- 0
- 1
- 57
Q&A
음성인식 하는 마이크 시간이 짧은거 같아요
안녕하세요? 오서현님.다음 질문에서 한글음성 입력이 된 것을 확인해서, 이 질문을 해결상태로 전환하겠습니다. 혹시라도 미해결되신 사항이 있으시면 번거로우시더라도 다시 한번 질문을 올려주시면 감사하겠습니다.
- 1
- 2
- 261