묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
어제 강의 이어서 질문드립니다
안녕하세요!어제 질문 드리고 오늘 이어서 강의 들으면서 제가 스스로 좀 해보았는데요. import requestsfrom bs4 import BeautifulSoupres = requests.get('https://v.daum.net/v/20170615203441266')soup = BeautifulSoup(res.content,'html.parser')items = soup.select('div.article_view p')for item in items: print(item.get_text()) 이렇게 코드를 넣었는데내주 부동산 종합대책 발표 집값 상승 노린 투기 분양 차단 LTVㆍDTI 규제 다시 강화할 듯 저소득 실수요자 피해 우려도 금융당국이 급증하는 가계부채 증가세를 막기 위해 아파트 잔금대출에도 소득을 따져 대출한도를 정하는 총부채상환비율(DTI)을 적용하는 방안을 유력하게 검토하고 있다. 지금은 집값을 기준으로 대출한도를 매기는 주택담보인정비율(LTV) 규제만 적용돼 소득이 없어도 집값의 70%를 빌려 잔금을 치르는 게 가능하다. 앞으로 잔금대출에 DTI가 적용되면 소득 없는 사람이 입주 뒤 집값 상승을 노리고 분양시장에 뛰어드는 게 사실상 불가능해진다. 금융당국 고위관계자는 15일 “잔금대출에도 DTI를 적용하는 방안을 검토 중”이라며 “다만 아직 최종 결론이 난 건 아니다”고 말했다. 정부는 내주 이 같은 내용을 포함한 부동산 종합 대책을 발표할 예정이다. 정부가 잔금대출 DTI 적용 카드를 꺼내는 건, 집단대출을 잡지 않고선 과열된 주택시장을 진정시키기 어렵다는 판단에서다. 실제 정부는 지난해 잔금대출도 대출 초기부터 원리금을 함께 갚도록 하는 여신심사 가이드라인을 도입했지만 이렇다 할 효과를 거두지 못했다. 오히려 정부 대책에도 불구, 집단대출 증가액은 매달 늘어나는 추세인데 지난달엔 2조원으로 올 들어 최고치를 기록했다. 아파트 분양 집단대출은 중도금과 잔금대출로 구분된다. 계약금 10%를 내면 입주 전까지 집값의 60%를 중도금 대출로 받을 수 있다. 중도금 대출은 건설사 보증으로 이뤄져 소득심사를 안 거친다. 잔금대출은 건설사가 아닌 집을 담보로 이뤄지는 대출이다. LTV 규제만 적용돼 소득이 없어도 집값의 70%까지 대출이 가능하다. 때문에 지금은 잔금대출로 집값의 70%를 대출받아 기존 중도금 대출을 갚고 나머지 20%만 본인 돈으로 충당하면 집을 살 수 있다. 앞으로 잔금대출에 DTI가 적용되면 소득이 없는 사람은 집값의 70% 대출 받는 게 어려워진다. 입주 뒤 집값 상승을 노리는 투기수요를 확실히 걸러낼 초강력 대책이 될 수 있다. 하지만 부작용도 우려된다. 소득이 낮은 사회초년생 등은 청약통장을 갖고도 분양시장에 진입하는 게 어려워지기 때문이다. 이에 따라 잔금대출에 DTI를 적용하는 것 역시 지역 등에 따라 선별적으로 이뤄질 가능성이 높다. 현재 당국은 신규 분양 물량부터 규제를 적용할지 아니면 기존 분양 물량까지 규제 범위를 확대할지를 놓고 시뮬레이션을 하고 있다. 아울러 당국은 지난 2년간 완화됐던 LTV와 DTI를 다시 강화할 것으로 보인다. 현재 LTV(은행 기준)는 기존 50~60%에서 70%, DTI는 50~60%에서 60%로 완화돼 있는 상태다. 당국은 일괄적인 조이기보다 지역ㆍ집값 수준별로 기준을 다르게 적용하는 방식을 모색할 것으로 보인다. 김동욱 기자 kdw1280@hankookilbo.com 이렇게 기사 텍스트 전체가 나오더라구요 <section dmcf-sid="ndxAvoEFLc"> <p dmcf-pid="nzrJ5KB3Cc" dmcf-ptype="general">내주 부동산 종합대책 발표</p> <p dmcf-pid="ncFbmYUgSc" dmcf-ptype="general">집값 상승 노린 투기 분양 차단</p> <p dmcf-pid="naDeB8j0HH" dmcf-ptype="general">LTVㆍDTI 규제 다시 강화할 듯</p> <p dmcf-pid="ngfl6lJwwk" dmcf-ptype="general">저소득 실수요자 피해 우려도</p> selectin dmcf라는 태그를 넣어서 요약글만 추출을 하려면 어떻게 해야할까요? 이렇게 저렇게 해봤는데 잘안되네요 ㅠㅠ
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 기본편
질문있습니다
안녕하세요 셀레니움을 사용해 상품 정보를 가지고 오는 것 까지 수강 했는데 추가적으로 상품을 하나하나 들어가서 상품 상세페이지와 옵션값(색상,사이즈) 까지 가지고 오는 경로를 생각 해보고 싶은데요 이런 경우에 스타트코딩님 실전편 결제 해서 들으면 생각을 해볼 수 있을까요 ?
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
주피터 practice 이름 설정
동영상 4:45 부분입니다. 제목 practice로 제목수정하는 부분에서 오류가 생깁니다. Rename이 눌리지 않고 하기와 같이 오류가 뜨는데 방법 알려주실 수 있을까요?
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
패턴으로 실습하며 익히기:html/css 이해를 바탕으로 크롤링하기
- 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다)- 이외의 문의등은 평생강의이므로 양해를 부탁드립니다- 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. <div class="layer_body" data-translation="true"> <p>금융당국이 급증하는 가계부채 증가세를 막기 위해 아파트 잔금대출에도 소득을 따져 대출한도를 정하는 총부채상환비율(DTI)을 적용하는 방안을 유력하게 검토하고 있다.</p> <p>지금은 집값을 기준으로 대출한도를 매기는 주택담보인정비율(LTV) 규제만 적용돼 소득이 없어도 집값의 70%를 빌려 잔금을 치르는 게 가능하다.</p> <p>앞으로 잔금대출에 DTI가 적용되면 소득이 없는 사람은 집값의 70% 대출 받는 게 어려워진다.</p> </div> 안녕하세요.지금 강의 중인 내용에 보면 class의 div 값과 다르게 2개의 값이 연이어 나오는데요.이런 경우에는 어떻게 입력하면 될까요?복사해서 넣어보고 했는데 계속 오류가 뜹니다. import requestsfrom bs4 import BeautifulSoupres = requests.get('https://v.daum.net/v/20170615203441266')soup = BeautifulSoup(res.content,'html.parser')mydata = soup.find_all('div','layer_body' data-translation='true') mydata.get_text() 이런식으로 연달아서 넣으면 되는건지...답변 부탁드려요^^
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
패턴으로 실습하며 익히기: 네이버 Open API로 크롤링하기
client_id와 client_secret에 제 아이디와 비밀번호를 입력했습니다.오류를 해결하려면 어떻게 해야하나요?
-
해결됨실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
영상 3초에 사이트 소개 하실때
ssg.co.kr 이라고 말씀하십니다.(영상에서 연습할 사이트는 cgv) 수업에는 방해되지 않는 부분입니다:))
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
CSS selector 사용해서 크롤링하기2/ 실전 크롤링해보기: 네이버 주식 사이트 크롤링하기
1. CSS selector 사용해서 크롤링하기2를 따라하는데 item = soup.select_one('ul#dev_course_list > li.course.paid')치면 두 번째 사진처럼 오류가 발생합니다. li.course.paid를 못 찾겠는데 어디서 찾을 수 있나요? 2. 강의 4:33에서 <li>를 copy element해서정보를 다 가져온다고 하셨는데 저는<li>가 보이지 않는데 어떤 부분을 copy element해야하나요?
-
미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
Progress bar 쓰레드 관련
시간이 좀 걸리는 함수를 진행할 때 프로그레스 바를 보여주고 싶은데 함수가 실행 중에는 프로그레스바는 움직이지 않고 함수가 끝나면 100프로로 끝나 버림그리고 시간이 걸리는 함수가 시작되면 다른 기능을 사용하지 못하는데 해결 방법이 있나요?
-
미해결업무 자동화를 위한 파이썬 pyautogui, beautifulsoup 크롤링 기초
에러가 아래와 같이 뜨는데 어떤 이유 일가요?
DevTools listening on ws://127.0.0.1:56654/devtools/browser/9e1808ec-defa-4ec2-9a11-92c97fa653a3[11404:12320:0201/143716.312:ERROR:device_event_log_impl.cc(215)] [14:37:16.312] USB: usb_device_handle_win.cc:1046 Failed to read descriptor from node connection: 시스템에 부착된 장치가 작동하지 않습니다. (0x1F) [11404:12320:0201/143716.315:ERROR:device_event_log_impl.cc(215)] [14:37:16.314] USB: usb_device_handle_win.cc:1046 Failed to read descriptor from node connection: 시스템에 부착된 장치가 작동하지 않습니다. (0x1F)
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 기본편
다음과 같은 error가 나는데 원인을 못찾겠네요..
구글링 해봐도 잘 나오지 않는데, 혹시 해결방법이 있을까요? 여기에 ChromeDriverManager().install() 이부분이 명암처리 되는거 보면, 여기서 에러 나는거 같은데, 확인좀 부탁드리겠습니다.
-
미해결Node.js로 웹 크롤링하기
안녕하세요! for of와 Promise.all 차이점에 관해서 질문드려요!
[제로초 강좌 질문 필독 사항입니다]질문에는 여러분에게 도움이 되는 질문과 도움이 되지 않는 질문이 있습니다.도움이 되는 질문을 하는 방법을 알려드립니다.https://www.youtube.com/watch?v=PUKOWrOuC0c0. 숫자 0부터 시작한 이유는 1보다 더 중요한 것이기 때문입니다. 에러가 났을 때 해결을 하는 게 중요한 게 아닙니다. 왜 여러분은 해결을 못 하고 저는 해결을 하는지, 어디서 힌트를 얻은 것이고 어떻게 해결한 건지 그걸 알아가셔야 합니다. 그렇지 못한 질문은 무의미한 질문입니다.1. 에러 메시지를 올리기 전에 반드시 스스로 번역을 해야 합니다. 번역기 요즘 잘 되어 있습니다. 에러 메시지가 에러 해결 단서의 90%를 차지합니다. 한글로 번역만 해도 대부분 풀립니다. 그냥 에러메시지를 올리고(심지어 안 올리는 분도 있습니다. 저는 독심술사가 아닙니다) 해결해달라고 하시면 아무런 도움이 안 됩니다.2. 에러 메시지를 잘라서 올리지 않아야 합니다. 입문자일수록 에러메시지에서 어떤 부분이 가장 중요한 부분인지 모르실 겁니다. 그러니 통째로 올리셔야 합니다.3. 코드도 같이 올려주세요. 다만 코드 전체를 다 올리거나, 깃헙 주소만 띡 던지지는 마세요. 여러분이 "가장" 의심스럽다고 생각하는 코드를 올려주세요.4. 이 강좌를 바탕으로 여러분이 응용을 해보다가 막히는 부분, 여러 개의 선택지 중에서 조언이 필요한 부분, 제 경험이 궁금한 부분에 대한 질문은 대환영입니다. 다만 여러분의 회사 일은 질문하지 마세요.5. 강좌 하나 끝날 때마다 남의 질문들을 읽어보세요. 여러분이 곧 만나게 될 에러들입니다.6. 위에 적은 내용을 명심하지 않으시면 백날 강좌를 봐도(제 강좌가 아니더라도) 실력이 늘지 않고 그냥 코딩쇼 관람 및 한컴타자연습을 한 셈이 될 겁니다. 안녕하세요! 1-5 Promise.all 과 for of 문의 차이 강의 듣고 궁금한 점이 생겨서 질문드립니다!Promise.all 이 동시에 진행되어 속도가 빠른 대신 순서가 보장되지 않는다고 하셨고 for of는 순서대로 요청을 보내고 응답을 받기 때문에 속도가 좀 느리다고 하셨는데현업에서 많은 양의 데이터를 순서대로 크롤링 해야하는 경우에 Promise.all로 빠르게 크롤링 데이터를 받아와서 정렬을 하는게 나은가요 아니면 for of로 느리더라도 순서대로 데이터를 받아오는게 나은가요?
-
미해결쉽게 처음하는 파이썬 고급 크롤링 [Scrapy, Selenium, Headless Chrome]
Selenium 처리 속도 관련 문의드립니다.
연습1 모범 코드: id가 begin 인 데이터만 출력해보기 코드를 실행해보면,데이터 출력까지 꼬박 30초가 걸리네요..from selenium import webdriverfrom selenium.webdriver.common.keys import Keysimport timefrom selenium.webdriver.common.by import Byfrom selenium.webdriver.chrome.service import Servicefrom webdriver_manager.chrome import ChromeDriverManagerchromedriver = 'C:/dev_python/Webdriver/chromedriver.exe'driver = webdriver.Chrome(service=Service(chromedriver))driver.get("https://davelee-fun.github.io/blog/crawl_html_css.html")elems = driver.find_elements(By.ID, 'begin')for elem in elems : print(elem.text)driver.quit() 강사님 영상보면 늦어도 5초 이내에 실행되는 것 같은데 좀 답답한 마음에 문의 드립니다.data:, 화면에서 20초 가량을 멈춰있어요..구글링 해보니 브라우저와 드라이버 버전을 맞추면 실행이 빨라진다 해서, 몇 번 재설치를 해봐도 안되고 있네요..109.0.5414.25와 .74 모두 설치해봤으나 동일한 처리 속도이며,,Edge드라이버를 설치해서 불러와도 30초가 걸리네요.참고로 제가 사용하는 컴퓨터이며, 크롬에서 주소 입력시 1초 이내로 반응합니다. 강의 내용과는 조금 벗어날 수도 있는 부분인 것 같으나..현업이나 교육 중에 이런 현상을 보신 적이 있으실까 싶어서 여쭤보네요.강의는 정말 잘 듣고 있습니다.양질의 강의 찍어주셔서 정말 감사드려요!!^^
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
쇼핑몰 크롤링 select, select_one 차이
잔재미코딩 선생님 우선 강의 정말 잘 듣고 있습니다.감사합니다. ^^ 크롤링 프로그램 완성: 크롤링한 데이터에서 다시 크롤링하기1 (업데이트)에서 질문드립니다. 수업자료에 올려주신 select로 태그를 가져오는 과정에서지마켓 bestitems는 왜 one으로만 작동하는 건지 궁금합니다.강의 찍어주시던 시기에는 bestitems 클래스가 2개가 있어서 select_one이 아닌 select를 사용하셨거든요. 이렇게 넣으면 왜 오류가 나는지 궁금해서 글을 남깁니다. 인터넷에 select와 select_one의 차이에 대해 찾아 봤으나 답을 얻지는 못해 문의드리게 되었습니다. 소중한 강의로 코딩을 알아가게 해주신 점 다시 한번 감사드립니다. ^^ #해당 코드import requestsfrom bs4 import BeautifulSoupres = requests.get('http://corners.gmarket.co.kr/Bestsellers?viewType=G&groupCode=G06')soup = BeautifulSoup(res.content, 'html.parser')# 2022.09.13 수정사항 (웹사이트 코드가 수시로 변경되면서, best-list class 를 가진 태그가 하나이기 때문에 해당 태그만 선택하도록 수정)bestitems = soup.select('div.best-list') # select_one() 은 해당 조건에 맞는 태그 하나만 선택하는 함수products = bestitems.select('ul > li')for index, product in enumerate(products): title = product.select_one('a.itemname') price = product.select_one('div.s-price > strong') print (title.get_text(), price.get_text(), title['href']) #문의 내용bestitems = soup.select('div.best-list') ^찾는 값이 1개인 경우에는 무조건 one을 적어야 하는 것일까요?
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
해결이 안되네요
from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.chrome.options import Options from selenium.webdriver.common.by import By from webdriver_manager.chrome import ChromeDriverManager # 크롬 드라이버 자동 업데이트 from selenium.webdriver.common.keys import Keys import time import pyautogui import pyperclip # 브라우져 꺼짐 방비 chrome_options = Options() chrome_options.add_experimental_option("detach", True) # 불필요한 에러 메시지 없애기 chrome_options.add_experimental_option("excludeSwitches", ["enable-logging"] ) service = Service(executable_path=ChromeDriverManager().install()) driver = webdriver.Chrome(service=service, options=chrome_options) # 웹페이지 주소로 이동 driver.implicitly_wait(5) # 웹 페이지가 로딩될 때까지 5초 기다림 # driver.maximize_window() # 브라우저크기 최대화 driver.get("https://map.naver.com/v5") search = driver.find_element(By.CSS_SELECTOR,"input.input_search") search.click() time.sleep(1) search.send_keys("제주 게스트하우스") time.sleep(1) search.send_keys(Keys.ENTER) time.sleep(1) # iframe 안으로 들어가기 driver.switch_to.frame("searchIframe") # iframe 나올 때 # driver.switch_to_default_content() # 무한스크롤 하기 ## iframe 안쪽을 한번 클릭하기 driver.find_element(By.CSS_SELECTOR,"#_pcmap_list_scroll_container").click() ## 로딩된 데이터 갯수 확인 lis = driver.find_elements(By.CSS_SELECTOR,"li.Fh8nG.D5NxL") before_len = len(lis) while True : # 맨 아래로 스크롤을 내린다. driver.find_element(By.CSS_SELECTOR,"body").send_keys(Keys.END) # 페이지 로딩 시간을 준다 time.sleep(1.5) # 스크롤 후 로딩된 데이터 개수 확인 lis = driver.find_elements(By.CSS_SELECTOR,"li.Fh8nG.D5NxL") after_len = len(lis) # 로딩된 데이터 개수가 같다면 반복 멈춤 if before_len == after_len: break before_len = after_len # 데이터 수집 ## lis에 모든 가계의 정보가 담겨있음 for li in lis: # 별점 있는 것만 선택 stars = driver.find_elements(By.CSS_SELECTOR,"span.XGoTG.cN3MU> em") if len(stars)>0: # 가계이름 store_name = li.find_element(By.CSS_SELECTOR,"span.place_bluelink.moQ_p").text star_point = li.find_element(By.CSS_SELECTOR,"span.XGoTG.cN3MU> em")위에서 store_name까지는 출력이 잘 되는데...star_point를 추가하고 출력하면 아래와 같은 에러가 발생합니다. 아무리 해봐도 해결이 안되네요..
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
네이버 금융 크롤링 질문
안녕하세요. 네이버 금융 크롤링 강의 중 질문이 있어서, 글 남깁니다. 우선 강의를 보면 아래와 같이, 코딩되어있습니다.soup.select() 코드 중 "onmouseover%" 이 부분 통해서 필요한 정보를 가지고 오고 있습니다.다만, 제가 실습할때는 참고할 수 있는 값들이 좀 달랐습니다.(아래 캡쳐 화면 참고 부탁드리겠습니다.) 제가 작성한 코드는 가장 아래 코드 참고 부탁드립니다.우선, 아래와 같이 정보를 가져옵니다.trs = soup.select("table.type_5 > tbody")-> 이 경우 trs값은 [] 빈 리스트로 찍히고 있는데, 제가 혹시 잘못 가져온걸까요? 그 이후, 빈칸의 경우 td[colspan]값으로 확인해서, 아래 코드로 해당 정보는 지우도록 하였습니다.td_cols = tr.select("td[colspan]") for td_col in td_cols: td_col.decompose() import requests from bs4 import BeautifulSoup url = "https://finance.naver.com/sise/field_submit.naver?menu=lastsearch2&returnUrl=http://finance.naver.com/sise/lastsearch2.naver&fieldIds=per&fieldIds=roe&fieldIds=pbr&fieldIds=reserve_ratio" response = requests.get(url) html = response.text soup = BeautifulSoup(html, "html.parser") ## 변경 코드 ## trs = soup.select("table.type_5 > tbody") #trs = soup.select("table.type_5") print("================================") print(trs) print("================================") for tr in trs: print("Sdsd") """td_cols = tr.select("td[colspan]") for td_col in td_cols: td_col.decompose() """ # nth-child 사용하는 방법 name = tr.select_one('td:nth-child(2)').text per = tr.select_one('td:nth-child(7)').text roe = tr.select_one('td:nth-child(8)').text pbr = tr.select_one('td:nth-child(9)').text reserve_ratio = tr.select_one('td:nth-child(10)').text print(name, per, roe, pbr, reserve_ratio) 위 말씀드린 과정을 통해서 코드 수행 시 정상적으로 동작하지 않는데, 관련해서 답변 주시면 감사하겠습니다!!
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 기본편
pyautogui 모듈을 다운 받았는데
ModuleNotFoundError: No module named 'pyautogui' 모듈을 찾을수가 없다고 하네요. 지우고 다운 받고 반복 했으나 찾을수가 없다고 합니다.. 버전이 안맞는건지 모르겠네요
-
미해결파이썬 무료 강의 (활용편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
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
69번 질문드립니다.
- 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다)- 이외의 문의등은 평생강의이므로 양해를 부탁드립니다- 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 12분 25초에 함수를 만들때 return이 3번 들어가도 되는건가요?마지막에 함수 끝날때만 들어가야하고 조건문에서는 else로 조건문을 닫는다던가 해야하는거 아닌지 궁금합니다.
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
57번 질문입니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 16:20 초 가량data.keys() 를 item 에 집어넣으셨는데그럼 item 은 data 의 키값을 가져오는건데data[item] 을 하니 벨류값이 나오는지도무지 이해가 안갑니다 ㅠ56번도 같은 맥락으로 이해가 안갑니다.감사합니다
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
답이 다 있어요.
올려주신 자료 답이 다 있는데, 답이 없는 자료는 따로 없나요?