inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

네이버 메일 자동화, 메일 창이 새탭에 생성

미해결

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

네이버 메일 자동화 하는 강의를 듣는중 입니다. 네이버 화면이 변경되면서, 네이버 메일을 누르면 기존 구글 탭에서 네이버 메일로 가는게 아닌, 새로운 탭에 네이버 메일이 생성됩니다. 때문에, 메일쓰기 버튼을 클릭하라고 해도 NoSuchElementException 에러가 발생합니다. (이게 네이버 메일이 새 탭에서 생성되었기 때문이라는 것을 알게되기 까지 정말 힘들었습니다...) 파이썬으로 제어하는 창을 활성화 탭으로 옮기도록 driver.switch_to.window(driver.window_handles[-1]) 하면 가능하다는 건 알게되었습니다. 하지만, 내가 지금 바라보고 있는 탭이 어떤 탭인지 알 수 있는 방법이 무엇인지 알고싶습니다.

  • python
  • selenium
akanto1 댓글 1 좋아요 0 조회수 936

네이버가 바뀌었는데 카테고리? 리스트 가져오는게 안되네요?

미해결

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

안녕하세요. 강의 잘 듣고 있습니다. 네이버가 새로운 형태로 바뀌었는데 아주 간단한 것이 해결이 안되네요? 이유가 뭘까요? 기본구조는 이렇게 생겼습니다. <li class="shortcut_item"> <a href="mail.naver.com" class="link_service"> <span class="service_icon type_mail"> ::before ::after </span> <span class="service_name">메일</span> </a> </li> <li class="shortcut_item"> </li> 아래처럼 너무 단순한거라 생각했던 것을 못 가져오네요? 확인 부탁드려요~ service_name = soup.find(class_="service_name", string="메일") print(service_name) # None 출력이 안되네 이유가 뭘까나? print()

  • python
  • 웹-크롤링
  • selenium
  • beautifulsoup
jangtaesan 댓글 2 좋아요 1 조회수 605

강의 끝까지 잘 들었습니다. 복습도 해야겠죠

미해결

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

강의를 잘 들었습니다. 완강이신지요? 너무 훌륭한 강의라서 좀더 이어졌으면 하는 간절한 바램입니다. 지금은 잘 이해하고 있다고 생각드는데 막상 실전에서 사용하려면 잘 안돼요.... 우선 복습부터 해야겠네요.... 감사합니다.

  • python
  • 웹-크롤링
  • selenium
  • beautifulsoup
강자선 댓글 1 좋아요 2 조회수 399

7강 질문이 있습니다.

미해결

Selenium 기본 과정

상품고유번호(data-i)가 아닌 업체고유번호(data-ms)로 했을 때는 왜 작동이 안되는 걸까요? 2페이지에 분명히 있는데, 못찾고 계속 지나갑니다. 알려주시면 감사하겠습니다. from selenium import webdriver from selenium.webdriver.common.by import By import time import chromedriver_autoinstaller chromedriver_autoinstaller.install() 드라이버 = webdriver.Chrome() 진짜등수 = -1 등수 = -1 for 페이지인덱스 in range(1, 15): # 1. 페이지 방문 검색쿼리 = "em" 쇼핑링크 = f"https://msearch.shopping.naver.com/search/all?frm=NVSHPAG&origQuery={검색쿼리}&pagingIndex={페이지인덱스}&pagingSize=40&productSet=total&query={검색쿼리}&sort=rel&viewType=lst" 드라이버.get(쇼핑링크) time.sleep(2) # 2. 페이지 4-5번 내리기 for _ in range(4): 드라이버.execute_script("window.scrollBy(0,10000);") time.sleep(0.5) # 3. 타겟 상품이 노출되고 있는지 확인 # 4. 없다면 다음페이지로 이동 try: 타겟상품코드 = "4627652" 타겟상품_셀렉터 = f'a[data-ms="{타겟상품코드}"]' 찾은상품_엘리먼트 = 드라이버.find_element(By.CSS_SELECTOR, 타겟상품_셀렉터) 데이터 = 찾은상품_엘리먼트.get_attribute('data-nclick') 진짜등수 = 데이터.split(f"{타겟상품코드},r:")[-1].split(',')[0] 등수 = int(진짜등수) - (int(페이지인덱스) - 1) * 40 break except: print(f"{페이지인덱스} 페이지에서 타겟상품을 못찾음") #next page 방문해야 함 print(f"내상품의 진짜 등수는 : {진짜등수} 입니다.") print(f"내 상품은 {페이지인덱스} 페이지의 {등수}위에 노출되고 있습니다.") input()

  • python
  • selenium
.이엠투데이. 댓글 1 좋아요 1 조회수 520

로그인 이후 발이 묶여서 멈추고 더이상 넘어가지 못하고 있습니다.

미해결

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

안녕하세요 : ) 강의 넘 잘 듣고 있습니다. 몇일째 넘어가지 못하고 있어 이렇게 글을 남김니다. 로그인 후 환경이 변경된것 같은데 로그인 정보를 저장하시겠어요? 부분은driver.find_element(By.CLASS_NAME, '_acan').click() 이걸로 하니 넘어간 것 같은데 2번째 뜨는 알림 설정 창은 나중에 하기 버튼 클릭을 누르려고 아무리 애를 써도 안되네요 ㅠ driver.find_element(By.CLASS_NAME, '_a9--._a9_1').click() class="_a9-- _a9_1" 개발자도구 > Ctrl + F _a9-- _a9_1 이렇게 검색하면 1개를 찾는데 _a9--._a9_1 중간에 빈영역에 .을 넣으면 찾지 못하는 문제가 있네요? 왜일까요? XPATH, SELECTOR 등을 모두 활용해 봤는데 더 이상 진행이 되지 않습니다. 어떻게 하면 될까요?

  • python
  • selenium
jangtaesan 댓글 3 좋아요 1 조회수 1128

click() 이 작동하지 않네요.

미해결

Selenium 기본 과정

click() 이 작동하지 않는데요. 왜 그럴까요?

  • python
  • selenium
.이엠투데이. 댓글 1 좋아요 1 조회수 462

팝업 설명창?

미해결

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

안녕하세요!! 강의 잘 듣고 있습니다 :) 다름이 아니라 강의에서는 저렇게 . 찍고나서 팝업창이 뜨는데 저는 저 title 칠때 뜨질 않거든요,,,뜨게 하고싶은데 어떻게 할 수 있을까요?? 기본내장 함수? 사용할땐 뜨는데... 강의에선 저 .title 하면 인식되어서 하늘색 으로 변하는데 openpyxl에서 .찍고 나오는 명령어는 다 뜨질 않네요ㅠ ws.save , ws.append , ws.iter_rows 라든지 그런거요 ㅠ 저는 그대로 흰색으로 되거든요, 물론 작성 후 실행은 되는데, 작성 중에 팝업창 뜨는게 초보자한텐 도움이 되니까 뜨게 하고 싶습니다! 감사합니다!

  • python
  • selenium
  • openpyxl
아이준느 댓글 1 좋아요 0 조회수 440

셀레니움 기초 사용법

미해결

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

6분20초쯤 설명해주시는 웹브라우저로 이동시키는거 하고 있는데요. 주소를 입력한 웹사이트가 나타났다가 다시 사라집니다. 왜 그런 걸까요?

  • python
  • selenium
  • openpyxl
전미정 댓글 1 좋아요 0 조회수 564

키보드 자동화_소문자 ko 입력 안되는 이유 질문 드려요

미해결

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

회사 계정에 자동 로그인하는걸 해보고 싶어서 키보드 자동화 #키보드 입력(문자) pyautogui.write('kosa') 이렇게 입력하고 실행버튼 눌렀더니, ko를 제외하고 입력이 됩니다. ko가 Vscode 안에서 단축키로 되어있는지 한국어 설정이 눌려지는 것 같은데, 어떻게 해야할까요?

  • python
  • selenium
  • openpyxl
전미정 댓글 1 좋아요 0 조회수 518

TypeError: 'module' object is not callable 이런 오류가 뜹니다

미해결

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

강의 그대로 따라서 진행중인데, 저런 에러코드가 뜨면서 크롬 새창이 열리지 않아요 ㅜㅜ 어떻게 해결해야할까요?

  • python
  • selenium
  • openpyxl
성실한 바다코끼리 댓글 1 좋아요 0 조회수 751

강의잘듣고공부중입니다~^^작성중에 url 에 특정이미지를 크롤링하는걸 배웠는데도 에러가떠서 한수부탁드려요ㅜ

미해결

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

""" dumpimages.py Downloads all the images on the supplied URL, and saves them to the specified output file ("/test/" by default) Usage: python dumpimages.py https://www.1688.com// [output] """ from bs4 import BeautifulSoup as bs from urllib.request import ( urlopen, urlparse, urlunparse, urlretrieve) import os import sys def main(url, out_folder="/test/"): """Downloads all the images at 'url' to /test/""" soup = bs(urlopen(url)) parsed = list(urlparse(url)) for image in soup.findAll("img"): print("Image: %(src)s" % image) filename = image["src"].split("/")[-1] parsed[2] = image["src"] outpath = os.path.join(out_folder, filename) if image["src"].lower().startswith("http"): urlretrieve(image["src"], outpath) else: urlretrieve(urlunparse(parsed), outpath) def _usage(): print("usage: python dumpimages.py http://example.com [outpath]") if __name__ == "__main__": url = sys.argv[-1] out_folder = "/test/" if not url.lower().startswith("http"): out_folder = sys.argv[-1] url = sys.argv[-2] if not url.lower().startswith("http"): _usage() sys.exit(-1) main(url, out_folder) root@goorm:/workspace/firstContainer# cd "/workspace/firstContainer"; root@goorm:/workspace/firstContainer# python3 /workspace/firstContainer/index.py Traceback (most recent call last): File "/workspace/firstContainer/index.py", line 38, in <module> url = sys.argv[-2] IndexError: list index out of range 구름ide로작성했는데 이렇게 오류가 떠요ㅠㅠ 전체이미지가 아닌 배웠던 class 특정영역의 이미지들만 일괄저장하고싶어서요;;ㅠ

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

새로운 탭을 생성하고, 이동시 크롬 창 활성화

미해결

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

안녕하세요! headless를 이용하면 안되는 사이트도 있는거 같아서. 그냥 크롬창을 띄워놓고 작업을 하는데요. 탭을 2개 열어 놓고 작업을 시켰습니다. 근데 탭을 변경하면 최소화된 크롬창이 자꾸 활성화 되면서 모니터 앞으로 튀어나오는데요.. 탭 변경시 driver.switch_to.window(driver.window_handles[0]) 이 코드를 사용하는데요. 0에서 작업하다가 1로 넘기면, 넘길 때 마다 크롬창이 앞으로 팍 튀어나옵니다! 해결 방법이 있을까요? headless를 사용하지 않고, 크롬창이 열리는 대신, 그냥 최소화 해놓고 작업을 하고 싶습니다!

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

셀레니움 바뀐 문법이 궁금합니다. webdriv.send_keys(Keys.ENTER)

미해결

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

셀레니움 질문드료요 ~ 인풋창에서 글을 입력하는데요 . webdriv= webdriver.Chrome(options=options) from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.by import By 에러가 납니다. 문법이 바뀐것 같은데요 .. 목적은 인풋창에 값을 입력한뒤 Key.ENTER 가 하려고했습니다. keys.enter는 에러가 나서요 바뀐 . 문법이 궁금합니다. ------------------ webdriv.find_element(By.XPATH, # 는 알겠으나 // webdriv.send_keys(Keys.ENTER) # 이거는 어떻게 해야할지 몰라서 여쭈어 봅니다.

  • python
  • 웹-크롤링
  • selenium
  • beautifulsoup
what? just run 댓글 1 좋아요 0 조회수 6010

쿠팡 사이트 접속 제한은?

해결됨

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

강의 잘 들었습니다! 쿠팡 사이트에 여러번 시도를 하니까 엑세스 디나인이 뜨더라구요. 강사님은 혹시 이것이 발생하는 주기를 알고 계실까요? 예) 1분에 10번 이상 접속 시도시 차단. 차단되면 1일 후 이용 가능. 이런 대략적인 정보나? 경험이 있으면 알려주시면 감사하겠습니다!

  • python
  • 웹-크롤링
  • selenium
  • beautifulsoup
김선영 댓글 2 좋아요 1 조회수 1939

ancestor :: span[2] 어떻게 해석해야 할지 //ancestor :: div[2] -- 질문

미해결

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

ancestor :: span[2] 어떻게 해석해야 할지 모르겠습니다. //ancestor :: div[2] --------- 질문 :: div등 [1] [2] 번호의 의미와 분석법 , ancestor :: span[2] ancestor 쓴는 이유와 찾는 방법 순서 .. 궁금합니다 ~

  • python
  • 웹-크롤링
  • selenium
  • beautifulsoup
what? just run 댓글 2 좋아요 0 조회수 522

셀레니움으로 thumb 이미지 클릭을 못합니다 도와주세요 ㅠ

해결됨

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

선생님 난관에 부딪혔습니다. 제목과, 이름은 잘가져오는데. 썸네일 이미지가 메뉴에 가려져 있어서, 클릭을 못한다고 합니다. 이를 어찌 해결해야 할지 도저히 모르겠습니다 일단 코드는 아래와 같습니다. items = driver.find_elements(By.CSS_SELECTOR, "#_chartList > li.list_item") time.sleep(2) #_chartList .title.ellipsis for idx, item in enumerate(items[:5], 1): title = item.find_element(By.CSS_SELECTOR, 'p.title.ellipsis') name = item.find_element(By.CSS_SELECTOR, 'span.name.ellipsis') thumb = item.find_element(By.CSS_SELECTOR, 'div.thumb > a') thumb.click() time.sleep(2) album_url = driver.current_url driver.back() print(f">>>{idx}<<<") print(title.text.strip()) print(name.text.strip()) print(album_url) print() time.sleep(2) 실행하면 아래와 같은 오류가 납니다. selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted: Element <a href="javascript:goDetail('album','11211297')">...</a> is not clickable at point (40, 24). Other element would receive the click: <span class="ico-sprite ico-gnb-menu">...</span> 구글링 열심히 하다가 챗 gpt에게 물어보니 오약 : 메뉴 요소에 가려져있어서 클릭을 못하고, 메뉴 요소를 닫아야 한다고합니다 <span class="ico-sprite ico-gnb-menu"> 이 메뉴 요소가 문제인거 같은데, 메뉴에 가려져 있으면 어떻게 해결 해야하나요? 어떡해든 혼자힘으로 해결해 보려고 하였는데, 이건 도저히 해결책을 어떻게 연구해야 할지 모르겠습니다. 도와 주신다면 감사하겠습니다.

  • python
  • 웹-크롤링
  • selenium
  • beautifulsoup
가후 댓글 1 좋아요 0 조회수 581

태그의 속성값을 텍스트로 출력할수있나요?

미해결

안녕하세요 현재 파이썬을 공부중인 학생입니다. 이전까지는 태그의 값을 텍스트로 출력하고 있었는데 태그안에 속성값을 텍스트로 출력할일이 생겨서 여러 방면으로 검색 및 시도를 해보고 있는데 잘 안되네요 여기서 data-taitle="BLACK(99)" 의 BLACK(99) 를 텍스트로 출력하고 싶습니다. 어떻게 하면 될까요? #python

  • python
  • selenium
kshssi 댓글 1 좋아요 0 조회수 612

영상보면 크롬에서 자동화 메세지 안나오는 옵션을 입력한 상태인데, 메세지가 나오고 있습니다.

해결됨

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

자동화 메세지 안나오는 코드 입력후 options.add_experimental_option('excludeSwitches', ['enable-automation']) 크롬을 실행하면, 자동화 메세지지가 안나옵니다. 그러나 1분 58초 입니다. 크롬에서 오류 메세지 안보내는, 코드를 입력하면 자동화 메세지가 출력됩니다 options.add_experimental_option('excludeSwitches', ['enable-logging']) 즉 자동화 메세지 안나오는 코드 입력상태 이고 오류 메세지 안나오는 코드 입력상태 인데 위 두가지 조건을 입력하면 자동화 메세지가 안나오고 and 오류 메세지도 안나와야 하는데.. 오류 메세지는 나오지만, 자동화 메세지가 출력됩니다. 그래서 영상을 돌려보니, 선생님 강의 영상에서도 똑같은 증상이 나오고 있습니다! 아래는 선생님강의 영상 캡쳐 입니다 제 생각에는 add_experimental_option은 아래에 있는 코드가 적용되는게 아닐까 추측되네요. 저도 초보이지만, 저보다 늦게 공부하시는 분을 위해 남겨 둡니다. 저처럼 고민하시는 분들이 있으실수도 있으니까요

  • python
  • 웹-크롤링
  • selenium
  • beautifulsoup
가후 댓글 1 좋아요 0 조회수 382

기초적인 질문 질드려요 vscode에서 clear 명령어 사용

미해결

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

강의 영상중에서 5분 27초 보면 vscode 터미널 내용지울땐, 선생님께서 clear 라는 입력하시고 엔터 누르시면, 터미널 내용이 사라집니다. 저는 clear라고 하면, 'clear'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 위와 같이 나옵니다. 그래서 찾아보니, cls라고 하면 지워진다고 하는데, 선생님처럼 clear 명령어를 사용하고 싶습니다. 선생님께서는 터미널 단축키를 수정 하신건지 아니면 다른 터미널을 사용 하신건지 궁금합니다. 이게 간단한거 같으면서도, 검색으로는 더이상 알아낼수가 없네요 알려 주시면 감사하겠습니다.

  • python
  • 웹-크롤링
  • selenium
  • beautifulsoup
가후 댓글 2 좋아요 0 조회수 5983

귀신이 곡할 노릇입입니다ㅠㅠ , 셀렉터를 맞게 한거 같은데 안되네요 ㅠㅠ

해결됨

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

블랙핑크 검색시 셀렉터 손흥민 검색시 셀렉터 즉 선생님 수업때와 다르게 셀렉터가 둘다 똑같이 변경 되었습니다. import requests from bs4 import BeautifulSoup base_url = "https://search.naver.com/search.naver?where=view&sm=tab_jum&query=" keyword = input("검색어를 입력하세요 :") url = base_url + keyword # url = "https://search.naver.com/search.naver?where=view&sm=tab_jum&query=손흥민" headers = {"User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36"} req = requests.get(url, headers=headers) soup = BeautifulSoup(req.text, 'html.parser') results = soup.select(".timeline_area") print(results) for res in results: # print(res.select_one('.sub_txt.sub_name').text) # print(res.select_one('.api_txt_lines.total_tit').text) # print(res.select_one('.api_txt_lines.total_tit').get('href')) print() 그래서 위와같이 select 해서 크롤링을 하면 정말 너무 희안하게도 "블랙핑크" : 크롤링 가능 "손흥민" : 크롤링 불가능 print(results) 해보면, 리스트가 비어있습니다. 그래서 제가 아래 이미지 처럼 개발자 도구에서 select copy 를 이용해서도 해봤는데 크롤링이 안됩니다. 도저히 제가 이해할수가 없고, 해결할수 없어서 질문 드립니다. 도와주신다면 감사하겠습니다. ㅠㅠ

  • python
  • 웹-크롤링
  • selenium
  • beautifulsoup
가후 댓글 2 좋아요 1 조회수 598

인기 태그

인프런 TOP Writers

주간 인기글