inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

네이버 항공권 관련 제가 작성한 코드 조심스럽게 공유해드립니다.ㅜ

미해결

파이썬 무료 강의 (활용편3) - 웹 스크래핑 (5시간)

안녕하세요 먼저 좋은 강의 해주시는 나도코딩님께 감사드립니다. 이전에 나름 정성들여 글을 작성했는데, 확인이 안돼서 다시 작성해봅니다. 제가 강의를 보고있는 2023년 1월 19일과 강의날인 2020년 8월과 네이버 항공권 인터페이스가 많이 상이하고, 셀레니움과 파이썬 버전이 달라 저의경우 아래와 같이 코드를 작성했습니다. 다른분들께 도움이 되었으면 좋겠습니다. 현재 저의 환경의 경우 python버전 3.10.7 버전이고 selenium또한 강의때 사용하신것 보다 더 높은 것으로 보입니다. 현재 제 경우와 강의내용과 상이한 부분은 아래와 같습니다. 네이버 항공권 진입시, "지금 바로 혜택 확인하기" 광고 팝업창 발생, 해당부분 get_attribute메소드를 사용해 title을 비교해, 팝업이 있다면 팝업을 삭제하는 XPATH를 확인해 해당 엘리먼트를 클릭하도록 구현 browser.find_element_by_class_name과 같이 find_element_by_~~ 메소드 사용불가 => 현재 제가 사용중인 셀레니움 버전이 상위 버전으로 보이는데, 이는 3 line과 같이 import By로 쉽게 수정 가능 find_elements_link_text 메소드 사용 불가 => 2020년대비 2023년 현재 네이버 항공권 웹페이지 인터페이스의 변화때문인지 "가는 날" 및 날짜 선택을 위해 해당 메소드 사용시 빈리스트만 반환 "가는 날"은 XPATH로 엘리먼트를 얻어와 클릭하도록 구현 원하는 날짜의 경우 class이름을 확인해 모든 날짜정보를 갖고와 원하는 날짜정보만 사용하도록 구현 (compute_date 함수 참고 부탁 드립니다.) 추가적으로, 이 경우에 1년치 달력정보를 모두 읽어와 속도가 매우 느린데 더 좋은 방법을 알고계신분은 공유 부탁드립니다. ( _ _ ) compute_date(dates, 30)[1].click() 코드를 이렇게 수정해 오는날을 2월 30일을 선택하려 했으나 3월 30일을 선택해, 코드 오류인줄 알고 디버깅해보니 2월달은 30일이 없었습니다...ㅎ 정상동작 중 입니다. 저와같이 초반에 고생하시는 분들께 조금이나마 도움이 되었으면 좋겠습니다. 감사합니다. import time from selenium import webdriver from selenium.webdriver.common.by import By URL = "https://flight.naver.com/" def compute_date(dates, target) -> list: print("compute entire date information from current month to limit") return [date for date in dates if date.text == str(target)] browser = webdriver.Chrome() # browser.maximize_window() browser.get(URL) time.sleep(1) # remove AD popup find = browser.find_elements(By.CLASS_NAME, "anchor") for f in find: if f.get_attribute("title") == "지금 바로 혜택 확인하기": browser.find_element(By.XPATH, '//*[@id="__next"]/div/div[1]/div[9]/div/div[2]/button[1]').click() print("remove pop up") break # push 가는 날 button also delay 1 sec is necessary, if don't use this, can not read date information. browser.find_element(By.XPATH, '//*[@id="__next"]/div/div[1]/div[4]/div/div/div[2]/div[2]/button[1]').click() time.sleep(1) # read date information and push 25 day dates = browser.find_elements(By.CLASS_NAME, "sc-evZas dDVwEk num".replace(" ", ".")) compute_date(dates, 25)[0].click() # read date information and push 30 day dates = browser.find_elements(By.CLASS_NAME, "sc-evZas dDVwEk num".replace(" ", ".")) compute_date(dates, 30)[0].click() while True: pass

  • selenium
  • python
  • 웹-크롤링
  • 웹 스크래핑
박재현 댓글 2 좋아요 7 조회수 2584

daily temperatures 문제 질문

미해결

코딩테스트 [ ALL IN ONE ]

안녕하세요! Leetcode daily temperature 문제 해설을 보다 질문이 생겨서 남깁니다! while 문으로 stack을 돌면서 대소 비교를 하는데, 여기서의 시간복잡도가 O(n)이 될 걱정은 안해도 되나요? 어렴풋이 생각하기에, stack에 temperatures의 원소가 들어가기 때문에 n개의 원소가 들어갈 것이고, for문으로 길이가 n인 temperatures를 돌면 결과적으로 worst case로 O(n^2)이 될 수도 있지 않나 ... 라는 생각이 들었습니다. 시간복잡도 개념이 아직 부족해서 헷갈리는 것 같은데 제가 어떤 부분을 간과했을까요?

  • python
  • algorithm
  • 코테 준비 같이 해요!
강욱 댓글 1 좋아요 5 조회수 533

강의자료 부탁드립니다

미해결

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

안녕하세요 선생님 강의자료 부탁드립니다 b_9108@naver.com 입니다 감사합니다

  • python
댓글 1 좋아요 0 조회수 287

정밀도를 100%로 만드는 법

미해결

[개정판] 파이썬 머신러닝 완벽 가이드

1명의 확실한 P 예측과 나머지를 모두 N으로 예측했을 때 정밀도가 100%가 된다고 말씀하셨습니다. 이 경우에 재현율도 1 / 1+0 해서 100%되지 않나요?

  • python
  • 머신러닝 배워볼래요?
  • 통계
Munju Ham 댓글 1 좋아요 0 조회수 299

error installing "core" component MSI.

미해결

장고 설계철학으로 시작하는 파이썬 장고 입문

안녕하세요 강사님. 어제 시작한 사람입니다! 다름이 아니라, 개발 환경 구축 중에 터미널에서 파이썬 버전 설치 단계가 계속 에러가 뜹니다. PS C:\Users\ped> pyenv install 3.11.1 :: [Info] :: Mirror: https://www.python.org/ftp/python :: [Installing] :: 3.11.1 ... :: [Error] :: error installing "core" component MSI. :: [Error] :: couldn't install 3.11.1 다른 버전도 모두 마찬가지입니다! 공장 초기화를 해도 이렇게 뜹니다.. ++ 그래서 파이썬 공식 홈페이지에 가서 파이썬을 수동 설치했습니다. 이후 다시 따라가려니(글로벌 버전 지정), 또 에러가 뜹니다. PS C:\Users\ped> pyenv global 3.11.1 pyenv specific python requisite didn't meet. Project is using different version of python. Install python '3.11.1' by typing: 'pyenv install 3.11.1' 어떻게 해야 할 까요.. 진도를 못 나가서 답답합니다 ㅠㅠ

  • django
  • python
kjkim 댓글 2 좋아요 0 조회수 1673

강의에서 뜨는 에러가 뜨지 않습니다.

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

강의에선 GenPackets.cs의 Span계열에 오류가 뜨는데 저는 Span계열에 오류가 뜨지 않습니다. 그럴경우 그냥 진행해도 될까요???

  • network
  • unity
  • C#
좋은 캥거루 댓글 2 좋아요 1 조회수 844

ml-agents 관련 질문 있습니다.

해결됨

유니티 머신러닝 에이전트 완전정복 (기초편)

안녕하세요, 저는 강화 학습 관련 관심이 생겨 여러 강화 학습 관련 프로젝트를 진행하고 있는 대학교 4학년 학생입니다. 인프런 강의를 기반으로 하여 프로젝트 진행에 도움을 많이 받고 있어 너무 감사합니다. 다름이 아니라 ml-agents 관련 질문이 있어 글을 쓰게 되었습니다. 강화 학습에서 reward shaping하는 기준 혹은 참고 논문이 있는 건지 궁금합니다. Training을 진행할 때 여러 번 경험한 내용으로 시간이 지나는데도 학습이 진행이 안된 경험이 있습니다. 이럴 때마다 작업 관리자로 CPU나 CUDA의 이용률을 보면 0프로 정도로 거의 움직이지 않는데 이를 병목 현상으로 예상하고 있습니다. 이를 해결하기 위해 아나콘다 프롬폼트에 키보드 interrupt를 하게 되면 멈췄던 학습이 실행 되어 여러 번 interrupt를 걸어 해결했습니다. 여러 다른 컴퓨터를 사용할 때마다 일어나는 공통적인 현상이라 혹시 제가 학습을 잘못 하고 있는 건지 아니면 이러한 현상에 대한 해결 방안이 따로 있는 건지 궁금합니다. 강화 학습 Training 방법을 찾아보면 제가 보기로는 두 가지 방법이 있었습니다. Unity 환경에서 하나의 프리팹 위에서 episode가 끝날 때마다 Agent나 environment의 구성을 랜덤으로 하여 진행하는 방식과 다른 environment를 여러개의 프리팹으로 하여 학습을 진행하는 방법이 있었습니다. 두 방법에 큰 차이가 있는 건지 궁금합니다. 항상 이해하기 쉽게 강화 학습 관련 강의를 해주셔서 다시 한번 감사드립니다.

  • 강화학습
  • 머신러닝 배워볼래요?
  • unity
  • unity-ml-agents
kyungbeom8 댓글 1 좋아요 1 조회수 491

탈출문자 \b에 관해 질문이 있습니다.

미해결

파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자

print("Redd\bApple") << RedApple이 되는 것은 알겠는데요 시험삼아 print("Redd\b")를 출력했더니 Redd그대로 나오더라구요?? \b뒤에 어떤 문자열이 있어야 앞의 한 글자를 지울 수 있는 건가요??

  • 탈출문자
  • python
Ambition 댓글 1 좋아요 0 조회수 345

패킷 모아보내기 개수와 flushed 개수가 다른데 왜이런걸까요?

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

상황.1 listen register 는 10, backlog 는 100 으로 해놨고 connector 에서 Connect 할대도 100 으로 해놨습니다 SendBuffer 의 크기는 public static int ChunkSize { get; set; } = 65535 * 100; 이고 RecvBuffer _recvBuffer = new RecvBuffer(65535); 인데 어떤 부분이 문제일까요?.. 원본 jobTimer 코드 까지 실행하면 강의와 결과는 거의 같게 나옵니다만.. 상황 2 위 상황에서 서버 클라가 보내고 받는 데이터가 Hello Server! Hello Server! I am 1 가 되고 서버 클라 간의 패킷 또한 정상적으로 받아지는건 확인했습니다 그런데 리슨서버에서 register = 1, backlog = 1 로 해놓고 더미 클라이언트 쪽에선 Connector 로 2개의 클라가 접속하게 했을때 결과가 아래 처럼 나오고 있습니다, connector.Connect(endPoint, () => { return SessionManager.Instance.Generate(); } , 2 ); 코드를 수기로 처서 그런것 같기도 한데 어떤 부분에 문제를 의심해 볼 수 있을까요?

  • network
  • C#
  • unity
dyl 댓글 1 좋아요 1 조회수 579

(오류정정요청) Awake 설명

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

강의 타임라인 중 13:55 부터 Awake를 설명하는 부분에서 " 꺼놓은 상태에서 적용되는 애가 더 있어요" "게임 신 현재 들고 있는 컴포넌트를 끈 상태에서도 잘 작동하길 원한다면 Awake로 만드는 것도 하나의 방법이 되겠구요" 라고 언급하고 있습니다. 그런데, Unity Documentation에 따르면 active(켜놓은 상태) 할 때 Awake가 작동된다고 나와있습니다. 실제로 제가 @Scene을 끄고 Awake가 동작하는 지 디버깅을 했을 때 Awake가 호출되지 않았으며 EventSystem Null Reference Error가 로그로 찍혔습니다. 강의에서는 @Scene을 킨 상태에서(체크 박스를 체크한 상태) 테스트를 하고 있기도 합니다. Awake는 active한 상태 + 컴포넌트가 disabled 된 경우일 때 Start와 달리 호출된다고 정정해야 할 것으로 보입니다. https://docs.unity3d.com/ScriptReference/MonoBehaviour.Awake.html

  • C#
  • unity
Jae Young Park 댓글 2 좋아요 7 조회수 843

선생님, 여러 머신러닝 모델을 결합하는 다른 방법에 대해 질문있습니다.

미해결

[개정판] 파이썬 머신러닝 완벽 가이드

안녕하세요 선생님! 지난번에 보내주신 쿠폰은 정말 감사했습니다. 덕분에 다음으로 공부할 것에 대해 계획할 수 있었습니다. 개인 공부중에 궁금한 것이 있어 이렇게 여쭤봅니다. 제가 사이버보안 분야를 머신러닝으로 향상시키는 것에 관심이 있는데요. 마침 앙상블 수업을 듣던 와중에 개인적으로 공부하고 있던 IDS(침입탐지) 데이터 셋 관련해서 어떤 아이디어가 생겨서요. 이 데이터셋은 다중 분류에 해당되는 것인데요. 공격 패턴이 15가지(라벨) 정도라고 가정하겠습니다.이 라벨들을 저만의 방법으로 새로 분류하여 새로운 라벨들을 추가하여 만들어서 각각 학습하고 테스트를 진행해봤습니다. 첫번째로, 이진 분류로 라벨을 0, 1로 다시 만들어서 모든 공격들은 1로 분류하고, 일반적인 것(양성,Benign)들은 0으로 분류하는 것이죠. 즉, 공격이긴 공격인데 어떤 공격인지는 모르는 정도로만 시스템이 탐지하는 것입니다. 이럴 경우, 정확도, 정밀도, 재현율이 모두 99.97%로 아주 높은 확률로 탐지를 해냅니다. 두번째 분류는 비슷한 공격 패턴끼리 묶어서 그룹화를 한 뒤(즉, 라벨의 수를 줄이는 것입니다.) 학습 및 테스트를 하는 것입니다. 이럴 경우에도 아주 높은 점수를 보였습니다. 마지막 분류는 원래 라벨들입니다(전처리 작업 후). 역시 높은 점수를 보이긴 하나, 약간 낮은 점수를 보이는 일부 라벨들이 있습니다.그래서 말인데요. 혹시 이 세가지 모델을 연결해서 결과를 추출하는 방법이 있을 까요? 예를 들어, 먼저 공격인지 아닌지를 보고(첫번째 분류), 공격이라면 어떤 그룹에 속하는 지 보고(두번 째 분류), A라는 그룹이라면, 마지막 단계의 분류에서 세부적으로 어떤 라벨인지(세번째 분류)를 예측해내는 것이죠. 이렇게 연계하여 결과를 예측할 수 있는 모델을 만든다면, 점수가 약간 낮은 라벨들도 일부 보완할 수 있지 않을 까 생각되어서요. 아이디어는 떠올랐는데, 구글에 검색해보니 앙상블이나, 파이프라인 등의 관련된 내용만 검색이 되어서요. 혹시 제가 모르는 어떤 기술이 있을까요? 선생님의 조언을 구합니다.

  • 머신러닝 배워볼래요?
  • python
  • 통계
Samuel Jeon 댓글 1 좋아요 0 조회수 407

"크롬이 자동화된 프로그램에 의해 제어되고 있다며" 실행을 중단시킵니다. 실행 중단을 혹시 막을수는 없을까요?

미해결

웹 자동화 프로그램 만들기(파이썬 + 셀레니움)

from selenium import webdriver driver = webdriver.Chrome("./chromedriver") 이렇게 치면 화면이 잠깐 떳다가 바로 중단되서 사라지는데 실행 중단을 막을수 없을까요?

  • selenium
  • python
안현정 댓글 2 좋아요 1 조회수 2217

append함수, expend 함수, 함수의 동기화...?

해결됨

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

append 함수를 사용하면 (10)을 사용하면 마지막에 10을 넣고 ('10')을 사용하면 '10'을 넣었습니다 (asdf)를 사용하면 오류가 나던데 인트형, 실수형이나 ''가 붙어야 사용 가능한가요? 또한 extend 함수에서 a.extend(b) print('a.extend(a)=',a) 라고 적으면 오류가 나지 않았지만 print('a.extend(a)=',a.extend(b)) 는 none라는 문장만 나왔습니다. extend는 따로 실행을 시켜 줘야 되는 함수 인가요? 마지막으로 처음에 b=a를 해놓고 a만 append, sort, reverse 등 함수를 적용시켰으나 마지막에 보니 b도 같이 변환되어 있었습니다. 여태 것 다른 함수들은 b=a를 한 후 a값을 변동시켜도 b의 값은 초기 a값 그대로였는데 b도 같이 변화시키는 함수들이 따로 있는건가요??

  • python
정호윤 댓글 1 좋아요 0 조회수 489

바둑이 승차문제

미해결

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

안녕하세요! 바둑이 승차 문제 풀이 영상을 보고 다른 풀이로도 한번 풀어봤는데 예제 입출력대로는 제대로 나오는데 혹시 제 풀이가 맞는지 질문하고자 코드를 올립니다. C,N=map(int,input().split()) weights=[] result=[] for _ in range(N): weights.append(int(input())) def dfs(L,sum): if sum>C: return if L==N: result.append(sum) else: dfs(L+1,sum+weights[L]) dfs(L+1,sum) dfs(0,0) print(max(result))

  • 다른풀이
  • python
  • dfs
  • 코테 준비 같이 해요!
eun970923 댓글 2 좋아요 1 조회수 498

실습코드

해결됨

[파이토치] 실전 인공지능으로 이어지는 딥러닝 - 기초부터 논문 구현까지

제2강에 있는 실습코드는 어떻게 다운로드 받는건가요?? 호형님 아이디 비번이 있는건가요?? 제가 찾아봐도 잘 모르겟네요.

  • python
  • 딥러닝
  • 머신러닝 배워볼래요?
  • pytorch
  • 인공신경망
Ramnant 댓글 2 좋아요 1 조회수 376

안녕하세요

해결됨

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

오늘부터 수업을 듣기 시작했는데 강의 자료가 없습니다. 으로 보내주실 수 있으실까요? 그리고 vscode를 사용해봐서 atom을 사용해 보려고 하는데 크롬에 검색해봐도 설치하는 곳이 나오지 않습니다. 더 이상 사용하지 않는 프로그램 인가요?

  • python
정호윤 댓글 1 좋아요 0 조회수 292

geojson 좌표 문제

미해결

공공데이터와 Folium(Python Library)으로 만드는 제주 오름 지도 안내 서비스

위 이미지는 강의에서 만드신 geojson파일이고 아래 이미지는 제가 만든 geojson파일입니다. 같은 방법을 사용했고 좌표계도 바꿔보고 이렇게 저렇게 시도를 해봐도 좌표가 서로 다르게 나와서 안되는데 좌표를 같게 하려면 해야할까요? 내보내기 할 때 좌표계 EPSG:4326 - WGS 84로 했습니다.

  • 웹앱
  • python
  • folium
  • QGIS
커닼 댓글 0 좋아요 1 조회수 437

강의자료 요청드립니다.

미해결

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

강의 자료 부탁드리겠습니다. 감사합니다. pr2tty_mj@naver.com 입니다.

  • python
댓글 1 좋아요 0 조회수 242

aiohttp 동시 요청 수 제한 관련

미해결

파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI, async, await)

안녕하세요. 강의 잘들었습니다! 강의 내용 토대로 비동기로 API 수집을 구현했었는데 API 서버가 제가 보낸 모든 요청을 처리하지못해 오류 발생하여 요청 수를 제어하려고 합니다. 예를 들어들어 각기 다른 파라미터로 서버에 요청해야 할 수가 총 1000번이라면 1초당 10개씩만 요청하려고 합니다. 이럴 경우에는 어떻게 구현하는게 좋을까요? semaphore 사용해서 하는게 맞는건지 아님 aiohttp.BaseConnector 의 limit 수 파라미터를 조정하는게 맞는건지 궁금합니다. https://docs.aiohttp.org/en/stable/client_reference.html#baseconnector 그리고 한번에 요청 보내는 수뿐만아니라 요청보내는 간격에 대해서도 제어하려면 어떻게하면 좋을지 의견부탁드립니다!

  • aiohttp
  • python
  • FastAPI
  • 동시성
janus 댓글 1 좋아요 0 조회수 398

인기 태그

인프런 TOP Writers

주간 인기글