inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

5.Bot Detection 피하기(고급편) 질문입니다.

미해결

파이썬 셀레니움 고급편 (python selenium - 크롤링, 크롤러)

options = uc.ChromeOptions() 가져와서 아래쪽에 uc.Chrome () 실행할때 options가 안넣어져 있는데 안넣고 실행하는건가요??? 깃허브에 설명에는 driver = uc.Chrome(options=options) 이렇게 되어 있어 보이는데요?

  • 웹-크롤링
  • selenium
  • cdp
bictoridb 댓글 1 좋아요 0 조회수 588

selenium으로 연 크롬창 안꺼짐

해결됨

실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용

셀레니움 버전도 3.14?였나 최신걸로 업데이트 하고 써서 웹드라이버 설치하는 것도 안해도 되는 상태인데요. 강의에서는 driver.get(url) 하면 창이 켜졌다 자동으로 꺼지던데 제꺼는 창이 자동으로 안꺼집니다... 뭔가 업데이트로 변경된 부분인가요? 창 안꺼지도록 하는 방법 강의 들으려는데 제꺼는 원래 안꺼져서 당황스럽네요

  • python
  • 웹-크롤링
  • selenium
  • beautifulsoup
김재형 댓글 1 좋아요 0 조회수 916

mac 환경에서 실습할 경우

해결됨

Airflow 마스터 클래스

안녕하세요 mac 환경에서 강의를 수강하려고 합니다. 이러한 경우 wsl 설치 없이 다음 강의로 넘어가면 될까요??

  • python
  • 데이터-엔지니어링
  • airflow
lucli 댓글 1 좋아요 0 조회수 533

theme 적용이 되지 않습니다.

해결됨

실전 프로젝트로 배우는 데이터 앱 만들기 with Python & Streamlit

theme 적용시, 강사님께서 말씀해주신 것처럼 작업 폴더에 .streamlit 폴더를 만들고, 그 안에 config.toml 파일을 만들어 테마 적용을 했지만, 아래의 문구가 발생하며, 태마가 적용이 되지 않습니다. The page that you have requested does not seem to exist. Running the app's main page. 어떤 이유 인지 알려주세요.

  • python
  • streamlit
동현고 댓글 1 좋아요 0 조회수 494

string vs text

해결됨

실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용

text가 하위 태그에 있는 문자열까지 가져온다는 것은 알겠습니다. 근데 string도 명확한 설명 부탁드립니다.. 강의에서 <a class="logo_naver"> <span class="blind">네 이버</span></a> 이걸로 예를 들었는데.. 공백도 문자열이잖아요. 강의에서도 그렇게 말씀하셨고. 그러면 위 html코드에 string을 불러오면 a태그 뒤의 공백 한칸을 가져와서 " " 이런 공백 한칸으로 이루어진 문자열이 나와야 할 것 같은데 None으로 나오죠.. 문자열인데 왜 None으로 나오는지 잘 모르겠습니다. 엔터가 들어가도 None으로 나오는 것 같은데... text는 알겠는데 string은 설명이 좀 부족한것 같아서 보충 설명 부탁드립니다.

  • python
  • 웹-크롤링
  • selenium
  • beautifulsoup
김재형 댓글 1 좋아요 0 조회수 525

html 출력문제

미해결

실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용

강의 내용 외 개인적인 실습 사이트의 질문은 답변이 제공되지 않습니다. 문제가 생긴 코드, 에러 메세지 등을 꼭 같이 올려주셔야 빠른 답변이 가능합니다. 코드를 이미지로 올려주시면 실행이 불가능하기 때문에 답변이 어렵습니다. 답변은 바로 제공되지 않을 수 있습니다. 실력 향상을 위해서는 직접 고민하고 검색해가며 해결하는 게 가장 좋습니다. import requests from bs4 import BeautifulSoup url = " https://naver.com " req = requests.get(url) html = req.text print(html) 주피터 노트에서는 실행이 되는데 비쥬얼스튜디오에서는 결과가 이렇게 나왔습니다. PS C:\Users\pw720> & C:/Users/pw720/AppData/Local/Programs/Python/Python311/python.exeon.exe AMD64)] on win32 Python 3.11.5 (tags/v3.11.5:cce6ba9, Aug 24 2023, 14:38:34) [MSC v.1936 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> print(html) Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'html' is not defined >>> print(html) Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'html' is not defined >>> beautifulsoup4설치가 안되는것같아 cmd에서 설치했는데 제대로 안깔려서 안되는건가요?

  • python
  • 웹-크롤링
  • selenium
  • beautifulsoup
pw7208 댓글 2 좋아요 0 조회수 427

완전탐색 1090번 시간초과

미해결

2주만에 통과하는 알고리즘 코딩테스트 (2024년)

예제 문제는 잘 풀리는데 백준에 제출하니까 시간초과가 뜹니다 강의 자료랑 큰 차이는 없어 보이는데 어느 부분을 고쳐야 시간 안에 계산 가능할까요? #include <iostream> #include <cstdlib> using namespace std; int main(int argc, char **argv) { int n; int minX, minY, maxX, maxY; cin >> n; int arr[n][2]; for(int i=0; i<n; i++){ cin >> arr[i][0] >> arr[i][1]; } minX = arr[0][0]; maxX = arr[0][0]; minY = arr[0][1]; maxY = arr[0][1]; for(int i=1; i<n; i++){ if(arr[i][0]>maxX){ maxX = arr[i][0]; } else if(arr[i][0]<minX){ minX = arr[i][0]; } if(arr[i][1]>maxY){ maxY = arr[i][1]; } else if(arr[i][1]<minY){ minY = arr[i][1]; } } int arr_answer[n]; int arr_dis[n]; for(int i=minY; i<=maxY; i++){ for(int j=minX; j<= maxX; j++){ for(int l=0; l<n; l++){ int subY= 0, subX=0; subY = i-arr[l][1]; subX = j-arr[l][0]; arr_dis[l] = abs(subX) + abs(subY); } int sum = 0; for(int k=0; k<n; k++){ sum+=arr_dis[k]; if(i==minY && j ==minX){ arr_answer[k] =sum; } else if(sum < arr_answer[k]){ arr_answer[k] = sum; } } } } for(int i=0; i<n; i++){ cout << arr_answer[i] << " "; } return 0; }

  • python
  • 코딩-테스트
  • 알고리즘
yongyong213 댓글 2 좋아요 1 조회수 616

동시성 부분 추가 공부하면서 헷갈리는 부분 질문 드립니다.

해결됨

넓고 얕게 외워서 컴공 전공자 되기

안녕하세요 선생님! 동시성과 병렬성 관련해 기초가 약해 해당 강의를 들으면서 OS 부족한 부분을 많이 알게되어 도움이 많이되고 있습니다. 다름이 아니라 해당 강좌 범위는 벗어나지만.. 구글링해도 명확하게 해결되지 않아 질문 드립니다. 동시성을 구현하는 방법으로 멀티쓰레드 나 코루틴 방법으로 구현을 할 수있고 멀티쓰레드 방법에서 쓰레드 전환 간 context switch가 많기 때문에 오버헤드도 많아 Coroutine 방법을 많이 쓰고 또한 유저가 이벤트루프(스케쥴링)을 app에서 관리한다는 측면에서 디버그가 유용하다 정도로 이해하고 있습니다. 많은 블로그에서 멀티쓰레드보다 코루틴을 소개하면서 동시성 구현시 코루틴을 더 상위(혹은 좋은) 방법으로 서술이 많이 되어 있더라구요. I/O작업이 빈번할 경우 코루틴이 더 유리하다는 이해가 됩니다. 싱글스레드 + async 싱글스레드 멀티스레드 + async 멀티스레드 2개의 구현방법이 레이어가 다르다(thread와 task)보니 4가지 경우의 수를 적용할 수 있는데 실제 동시성을 적용해야되는 상황이면 어떻게 판단하고 최적의 구현방법(4가지 중 선택)을 적용할 수 있을까요? (파이썬 스택을 쓰고 있으며 GIL도 이해하고 있는 상태입니다.) 다시한번 해당 강의와 조금 벗어난 질문드려 죄송합니다. ( _ _ )

  • python
  • 동시성
  • 병렬성
권설민 댓글 1 좋아요 0 조회수 431

SSR vs SSG

해결됨

Next.js 시작하기(feat. 지도 서비스 개발)

안녕하세요 강의 정말 잘 듣고있습니다! SSG가 SSR보다 사용자 경험이 좋은건 이해했습니다! 근데 한가지 더 의문점인건 SSG가 아니고 SSR을 선택해야하는 케이스가 있을까요? 라는 의문이 듭니다! 예를 들면 검색결과 페이지라던가 매번 매순간 페이지의 내용이 달라지는 페이지라면 SSG가 아니고 SSR로 만드는게 더 적합한 그런 케이스가 실무에서 있을까요?

  • seo
  • next.js
  • vercel
  • csr
  • ssg
  • ssr
박굿뜨 댓글 2 좋아요 1 조회수 503

selenium 관련 web push notification 제어 질문

미해결

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

선생님 강의 관련 질문은 아니지만 셀리니움 사용 과정에 어려움을 느껴서 질문드립니다... 셀레니움에 두번째 페이지(window_handle[1]) 에서 웹푸시 알림이 뜨는데 크롬 옵션 설정 제어 안됨 (chrome_options.add_argument("--disable-notifications")) send_key(Keys.ENTER) 전송 X 액션체인 X try문으로 WebDriverWait(driver, 10).until (EC.alert_is_present()) , alert.accept() ALERT 인식 못함. 어떤 방법으로 웹푸시 알림 을 확인하거나 취소 할 수 있을까요?

  • python
  • selenium
황민섭 댓글 1 좋아요 0 조회수 606

크롤링 기사 기간 설정

해결됨

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

안녕하세요 뉴스크롤링에서 크롤링 하고자 하는 뉴스의 기간을 정해주려면 response = requests.get(" https://search.naver.com/search.naver?where=news&sm=tab_jum&query=검색어 ") 위 코드의 " " 안에 뉴스기간을 옵션으로 설정하여 검색한 페이지의 URL을 긁어서 넣어주면 되는걸지요? 감사합니다.

  • python
  • 웹-크롤링
cherrykim90 댓글 2 좋아요 0 조회수 1204

해시태그 검색 결과가 수강 내용과 달라서 올려주신 최종 코드가 적용되지 않고 오류가 납니다.

미해결

[자동화 완전 정복] 인스타그램 휴대폰, 웹 자동화 프로그램 개발

안녕하세요! 인프런에서 [인스타그램 휴대폰, 웹 자동화 프로그램 개발]을 수강한 사람입니다. 본 강의를 이용해서 자동화 프로그램을 개발하려고 하는데, insta_web.py의 로직 수행 중 오류가 발생하여 문의드립니다. 현재 문제가 생긴 부분은 다음과 같습니다. 1. insta_web_hashtag_search 함수 부분 : driver.get(f"https://www.instagram.com/explore/tags/{keyword}/") 를 수행하면 인기 게시물이 28개만 뜹니다. 따라서 28개 이상의 링크를 추출하기가 어려운 것으로 보입니다. 수강생들이 이전에 질문한 글을 찾아봤는데 똑같은 질문을 하신 분이 계시더라고요. AI 인턴이 남긴 댓글을 확인하고 설정을 변경하려고 했는데 현재 인스타그램 웹사이트에서는 검색 결과를 최신 게시물로 변경하는 필터를 제공하지 않는 것 같습니다. 이 부분에 대한 피드백을 주시면 감사하겠습니다. 2. insta_web_link_extract 함수 부분 : WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CSS_SELECTOR, all_posting_sel))) 에서 오류가 나서 넘어가지 않습니다. 1에서의 변경점때문에 셀렉터를 찾지 못해서 이런 일이 발생한 것 같다고 생각하는데 혼자 봐서는 잘 모르겠네요... 오류 내용은 다음과 같습니다. Traceback (most recent call last): File "C:\Users\user\Desktop\insta_auto_sample\main.py", line 23, in <module> insta_web.insta_web_work(driver, keyword, count) File "C:\Users\user\Desktop\insta_auto_sample\insta_web.py", line 115, in insta_web_work insta_web_link_extract(driver, count) File "C:\Users\user\Desktop\insta_auto_sample\insta_web.py", line 73, in insta_web_link_extract WebDriverWait(driver, 10).until(EC.presence_of_element_located( File "C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\site-packages\selenium\webdriver\support\wait.py", line 95, in until raise TimeoutException(message, screen, stacktrace) selenium.common.exceptions.TimeoutException: Message: Stacktrace: GetHandleVerifier [0x00007FF722D552A2+57122] (No symbol) [0x00007FF722CCEA92] (No symbol) [0x00007FF722B9E3AB] (No symbol) [0x00007FF722BD7D3E] (No symbol) [0x00007FF722BD7E2C] (No symbol) [0x00007FF722C10B67] (No symbol) [0x00007FF722BF701F] (No symbol) [0x00007FF722C0EB82] (No symbol) [0x00007FF722BF6DB3] (No symbol) [0x00007FF722BCD2B1] (No symbol) [0x00007FF722BCE494] GetHandleVerifier [0x00007FF722FFEF82+2849794] GetHandleVerifier [0x00007FF723051D24+3189156] GetHandleVerifier [0x00007FF72304ACAF+3160367] GetHandleVerifier [0x00007FF722DE6D06+653702] (No symbol) [0x00007FF722CDA208] (No symbol) [0x00007FF722CD62C4] (No symbol) [0x00007FF722CD63F6] (No symbol) [0x00007FF722CC67A3] BaseThreadInitThunk [0x00007FFE73ED7614+20] RtlUserThreadStart [0x00007FFE759E26F1+33] 전체 코드도 첨부합니다. # insta_web.py import time import data import chromedriver_autoinstaller chromedriver_autoinstaller.install() from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.keys import Keys from selenium.webdriver import ActionChains import pyperclip def insta_web_login(driver): try: driver.get("https://www.instagram.com/") id_selector = "#loginForm > div > div:nth-child(1) > div > label > input" WebDriverWait(driver, 10).until(EC.presence_of_element_located( (By.CSS_SELECTOR, id_selector) )) # 인스타그램 로그인 id_input = driver.find_element(By.CSS_SELECTOR, id_selector) id_input.click() time.sleep(0.3) pyperclip.copy(data.id) actions = ActionChains(driver) actions.key_down(Keys.CONTROL).send_keys('v').key_up(Keys.CONTROL).perform() time.sleep(0.5) pw_selector = "#loginForm > div > div:nth-child(2) > div > label > input" pw_input = driver.find_element(By.CSS_SELECTOR, pw_selector) pw_input.click() time.sleep(0.3) actions = ActionChains(driver) pyperclip.copy(data.pw) actions.key_down(Keys.CONTROL).send_keys('v').key_up(Keys.CONTROL).perform() time.sleep(0.5) login_btn_selector = "#loginForm > div > div:nth-child(3) > button" login_btn = driver.find_element(By.CSS_SELECTOR, login_btn_selector) login_btn.click() except Exception as e: print(e) print('[에러] insta_web_login > 로그인 에러 발생!') def insta_web_hashtag_search(driver, keyword): try: # 인스타그램 해시태그 검색 시작 search_selector = "#react-root > section > nav > div._8MQSO.Cx7Bp > div > div > div.QY4Ed.P0xOK > input" # WebDriverWait(driver, 10).until(EC.presence_of_element_located( # (By.CSS_SELECTOR, search_selector) # )) time.sleep(3) from urllib import parse # keyword = "고양이인스타" # keyword = parse.quote(keyword) driver.get(f"https://www.instagram.com/explore/tags/{keyword}/") except Exception as e: print(e) print("[에러] insta_web_hashtag_search > 해시태그 검색중 에러 발생!") def insta_web_link_extract(driver, count=100): all_posting_sel = "div[id^='mount_0_0'] > div > div > div > div > div > div > div > div > div > section > main > article > div:nth-child(3) > div" WebDriverWait(driver, 10).until(EC.presence_of_element_located( (By.CSS_SELECTOR, all_posting_sel) )) print("💙💙") all_posting_box = driver.find_element(By.CSS_SELECTOR, all_posting_sel) print("💙💙💙") ''' 목표 링크 n개 추출하기''' links = [] while len(links) < count : try: # 6번 스크롤 내리기(충분히 포스팅 개수가 쌓일만큼 스크롤 하기) for _ in range(6): driver.execute_script("window.scrollBy(0,600);") time.sleep(0.3) # 피드의 href 추출 all_posting_box = driver.find_element(By.CSS_SELECTOR, all_posting_sel) post_links = all_posting_box.find_elements(By.TAG_NAME, "a") for eachLink in post_links: # eachLink # Element Class link = eachLink.get_attribute('href') links.append(link) # 중복 제거 links = set(links) links = list(links) except Exception as e: print(e) print("[에러] insta_web_link_extract > while 에러 발생!") with open('links.txt', "a") as f: for link in links: print(link) f.write(f"{link}\n") def insta_web_work(driver, keyword, count): insta_web_login(driver) insta_web_hashtag_search(driver, keyword) insta_web_link_extract(driver, count)

  • python
  • selenium
해달 댓글 2 좋아요 0 조회수 578

이버 쇼핑 최저가 검색 코드를 ChatGpt에게 문의하는 부분

미해결

ChatGPT 실무에 100% 활용하기

네이버 쇼핑 최저가 검색 코드를 ChatGpt에게 문의하는 부분에서 강사님과 다른 코드를 작성해 답변해 줍니다. import requests from bs4 import BeautifulSoup # Naver 쇼핑에서 특정 제품의 최저 가격 정보를 검색하려면 Python을 사용할 수 있습니다. # 아래는 시작하기 위한 Python 코드 예제입니다. # 특정 제품에 대한 Naver 쇼핑 검색 결과 페이지의 URL을 지정합니다. product_url = ' https://search.shopping.naver.com/search/all?query=여기에_제품_이름_입력 ' # URL로 GET 요청을 보냅니다. response = requests.get(product_url) # 요청이 성공했는지 확인합니다 (상태 코드 200). if response.status_code == 200: # 페이지의 HTML 내용을 파싱합니다. soup = BeautifulSoup(response.text, 'html.parser') # 제품 이름 및 가격과 같은 제품 정보를 포함하는 요소를 찾습니다. product_elements = soup.find_all('div', class_='basicList_info_area__17Xyo') if product_elements: # 최저 가격과 제품 이름을 추적하는 변수를 초기화합니다. lowest_price = None product_name = None for product in product_elements: # 제품 이름과 가격을 추출합니다. name = product.find('a', class_='basicList_link__1MaTN').text.strip() price = product.find('span', class_='price_num__2WUXn').text.strip() # 가격을 정수로 변환합니다 (화폐 기호, 쉼표 등을 제거합니다). price = int(price.replace('원', '').replace(',', '')) # 최저 가격을 찾았거나 또는 최저 가격이 아직 없는 경우 업데이트합니다. if lowest_price is None or price < lowest_price: lowest_price = price product_name = name if lowest_price is not None and product_name is not None: # 최저 가격과 제품 이름을 출력합니다. print(f"'{product_name}' 제품의 최저 가격은 {lowest_price} 원입니다.") else: print("제품 정보를 찾을 수 없습니다.") else: print("페이지에서 제품 정보를 찾을 수 없습니다.") else: print("웹페이지 검색에 실패했습니다. URL 또는 네트워크 연결을 확인하세요.") 이런 코드를 gpt가 제공하는데 어떻게 해야 강사님과 같은 코드가 출력 될까요?

  • python
  • 웹-크롤링
  • selenium
  • chatgpt
jypark22c 댓글 1 좋아요 0 조회수 416

문의 드립니다.

미해결

파이썬 셀레니움 고급편 (python selenium - 크롤링, 크롤러)

# 랜덤 패턴 가지고오기 def get_random_pattern(isMobile=True): ret_pattern = [] if isMobile: with open("./mobile_scroll.txt","r") as f : while True: line = f.readline() if not line: break ret_pattern.append(line.rstrip()) selected_pattern = random.choice(ret_pattern) _,sx,sy,delay = selected_pattern.split("#") if abs(int(sy)) < 15 or float(delay) < 0.25: #너무 적은 값 return get_random_pattern(isMobile) return int(sx), int(sy), float(delay) else: # PC 패턴 with open("./pc_scroll.txt", "r") as f: while True: line = f.readline() if not line: break ret_pattern.append(line.rstrip()) pc_scroll_px = 114 # 100, 114 selected_pattern = random.choice(ret_pattern) _,dx,dy,delay = selected_pattern.split("#") if float(delay) < 0.25: return get_random_pattern(isMobile) return int(dx),int(pc_scroll_px), float(delay) 질문1. 위 패턴에서 pc_scroll_px 를 114로 하는 이유를 잘 모르겠습니다. 저는 모바일 말고 pc로 작업을 해보려고하는데 114씩만 올라갔다 내려갔다 스크롤되는데 전혀 사람처럼 보이지 않고 부자연스러워 보입니다. ㅜ def random_move(driver,direction="down",count=1,isMobile=True): for _ in range(count): # [O] 사람패턴 ~ 사람이 얼마나 스크롤을 움직였는지 # randY = random.randrange(200,300) randX,randY,_delay = get_random_pattern(isMobile) sx = random.randrange(100,270) sy = random.randrange(250,500) if direction == "up": randY = -randY if random.random() > 0.9 : #10%의 확률로 randY = -randY print(f"Scroll 한다 {randY}") ActionChains(driver).scroll_by_amount(0, randY).perform() # [O] 사람패턴 ~ 스크롤 하는 텀 prob = random.random() if prob < 0.5: dt = random.uniform(_delay*0.1, _delay*0.3) elif prob < 0.8: dt = random.uniform(_delay*0.2, _delay*0.6) else: dt = random.uniform(_delay*0.5, _delay*1.2) time.sleep(dt) time.sleep( 0.5) 질문2. 매개변수로 count를 받고있는데 이 부분을 넣은 이유를 정확하게 모르겠네요. ㅜ 그리고 sx = random.randrange(100,270) sy = random.randrange(250,500) 이렇게 받아둔 변수를 어떻게 활용하는지 강사님께서는 어떻게 사용하는지 궁금합니다.

  • 웹-크롤링
  • selenium
  • cdp
azzi85 댓글 2 좋아요 1 조회수 448

모바일에서 접속한 것처럼 안되는 문제

해결됨

실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용

user-agent를 변경하고 실행해도 pc에서 접속한 것처럼 보입니다. 제 코드는 아래와 같으며 파이참에서 작성했습니다. from selenium import webdriver from selenium.webdriver.chrome.service import Service from webdriver_manager.chrome import ChromeDriverManager from bs4 import BeautifulSoup from selenium import webdriver from selenium.webdriver.chrome.options import Options from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.by import By import time # 모바일에서 접속한 것처럼 보이게 하기 user_agent="Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1" options = Options() options.add_experimental_option("detach",True) # 화면이 안꺼지는 옵션 options.add_argument("--start-maximized") options.add_argument(f"user_agent={user_agent}") service = Service(ChromeDriverManager().install()) #크롬 드라이버를 자동설치하는 서비스를 만듬 driver = webdriver.Chrome(service=service,options=options) url = "https://m2.melon.com/index.htm" driver.get(url) if driver.current_url != url: driver.get(url) time.sleep(2)

  • python
  • 웹-크롤링
  • selenium
  • beautifulsoup
김영주 댓글 1 좋아요 0 조회수 755

python pandas dataframe을 엑셀 vlookup처럼 활용하고 싶은데 쉽지 않습니다. 도와주세요

미해결

하고 싶은 것 일부 주문이 서비스 유형: 픽업임에도 배달메뉴코드로 생성되어 이를 찾고 싶습니다. (배달메뉴와 픽업메뉴 코드는 서로 다름) 엑셀 vookup을 사용해서 상품코드를 배달 메뉴 테이블에서 검색하고, 검색되지 않으면 오주문으로 판단하는 코드를 구현했습니다. 같은 프로그램을 파이썬을 통해 구현해보고 싶은데, 다른 dataframe에 없는 값을 찾아 행을 추가하는 과정이 어려워 조언을 구하고 싶습니다. 파이썬 코드 df_pickup = 픽업 주문내역 데이터 프레임 delivery_menu_code = df_delivery_menu["상품코드"] df_misorder = pd.DataFrame() # 픽업 주문내역에서 상품코드를 꺼내 해당 상품코드가 배달 메뉴 코드에 포함되어 있는지 확인 # 만약에 코드가 없으면 해당 row를 df_misorder에 추가 for idx, row in df_pickup.iterrows(): misorder = df_delivery_menu[delivery_menu_code.str.contains(row["상품코드"], na = False)] if len(misorder) != 0: df_misorder.concat(row) else: pass # 어떻게 추가해도 계속 0개로 나와서, 도와주시면 감사드리겠습니다! len(df_misorder)

  • python
  • pandas
  • excel
  • vlookup
최경완 댓글 1 좋아요 1 조회수 1020

자동 생성되는 괄호 넘어가는 단축키

미해결

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

중괄호 등을 통해서 코드를 작성할 때 중괄호가 [] 이렇게 두개 자동으로 생성되는데요. 이외에도 '' 등 두개씩 자동으로 만들어줘서 코드를 작성하는데는 편리한데 'LEE' 등 코드를 쓰고 EE에서 '를 넘어 가기 위해 방향키를 눌러줘야 하는 불편함이 있습니다. 혹시 빠르게 작성하기 위해 단투키 같은게 별도로 있을지 문의드립니다

  • python
9시30분출근 댓글 1 좋아요 0 조회수 581

아직 질문 해결이 되지 못했습니다.

미해결

[자동화 완전 정복] 인스타그램 휴대폰, 웹 자동화 프로그램 개발

하단에 제 이름으로 질문한 " https://www.instagram.com/explore/tags/{keyword}")로 접속을 해보면" 문제 해결이 아직 되지 못한 상황입니다. ai 인턴님이 답변 하실 사안은 아닌 것 같고 강사님께서 답을 주셔야 할것 같습니다. 제 강의 가능한 기간이 9.10일입니다. 저번 질문도 이 질문과 같은 질문이었는데 아직 해결이 되지 못하였습니다. 강사님께서 직접 확인을 하도록 해서 기간 안에 해결을 해 주세요

  • python
  • selenium
김태환 댓글 2 좋아요 0 조회수 428

print(soup.a) 태그 값이 None으로 나옵니다.

미해결

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

태그 관련 내용이 반환이 안 되는데 어떻게 하면 될까요?

  • python
  • 웹-크롤링
  • selenium
  • 웹-스크래핑
고인규 댓글 4 좋아요 0 조회수 1208

Chrome version 116, Selenium version 4.11.2 이후

미해결

[신규 개정판] 이것이 진짜 엑셀자동화다 - 기본편

프로그램 실행을 눌렀더니, 아예 에러메세지 조차 뜨지 않고 아무 응답이 없습니다. Stackoverflow등 구글링을 해봐도 제대로 된 해결책을 찾을 수 없었습니다.

  • python
  • selenium
  • openpyxl
rlawlsgus125 댓글 1 좋아요 0 조회수 740

인기 태그

인프런 TOP Writers

주간 인기글