55,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
Atom 에디터 관련
강의 내용중에 Atom 에디터를 다운받아서 사용하는 내용이 있는데 서비스를 종료해서 이제 다운받을 수가 없습니다. 강의내용대로 실습이 불가능한데 어떻게 해야 할까요?
- 미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
위시켓 폼데이터
위시켓 네트워크 살펴보면 login/이라는 이름을 가진 게 없어요.
- 미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
스케줄러 사용 관련 질문 드립니다
작성한 파이썬 코드(웹 크롤링)를 매일 정해진 시간에 실행하려 합니다스케줄러를 사용하면 된다 구글링에 나왔는데요 어떤 식으로 사용하면 되는지 감이 안 와서 질문 드려요. 작성한 파이썬 코드 앞에 스케줄러 코드를 붙이면 되나요? 아니면 작성한 파이썬 파일을 불러와서 사용하는 방식으로 해야 하나요? 답변 부탁 드립니다.
- 미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
selenium 에러
안녕하세요, selenium을 사용해 파싱을 할 때, 예제처럼 'id'가 아닌 'div class'를 넣으면 다음과 같은 문법 에러가 발생 합니다. 해결책은 무엇이 있을까요?
- 미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
Progress bar 쓰레드 관련
시간이 좀 걸리는 함수를 진행할 때 프로그레스 바를 보여주고 싶은데 함수가 실행 중에는 프로그레스바는 움직이지 않고 함수가 끝나면 100프로로 끝나 버림그리고 시간이 걸리는 함수가 시작되면 다른 기능을 사용하지 못하는데 해결 방법이 있나요?
- 미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
Install Package 관련 문의
인증이 만료되었다고 하는데... 이제 사용할 수 없는 것인가요?
- 미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
tkinter 샘플 코드 실행 오류 건
안녕하세요. 강사님.anacoda에서 section2로 변경후 atom 실행해서 에딧팅 화면까지 정상적으로 나옵니다.그후에 tkinter 샘플 코드를 넣었는데 자동완성이 일단 안되는것 같구요 코드 삽입후에 ctrl-shift-b로 컴파일 했는데 아무런 창이 뜨지 않습니다.왜 그럴까요?
- 미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
4-7-6 네이버 & 카카오 주식 정보 가져오기
# [22년 8월 31일 확인]# https://financedata.github.io/posts/finance-data-reader-users-guide.html # pip install FinanceDataReader import FinanceDataReader as fdrimport matplotlib.pyplot as plt# import pandas_datareader.data as webimport FinanceDataReader as fdrimport datetime# 조회 시작 및 종료 날짜start = datetime.datetime(2022,8,16)end = datetime.datetime(2022,8,31)# 네이버 주식 정보 조회df_naver = fdr.DataReader('035420', start, end)# 카카오 주식 정보 조회df_kakao = fdr.DataReader('035720', start, end)# 출력print(df_naver)print(df_kakao)# 윈도우 제목fig = plt.figure('Chart Test')# 차트 사이즈 지정fig.set_size_inches(10, 6, forward=True)# 차트 설정 1plt.plot(df_naver.index, df_naver['Close'], 'b', label="Naver")# 차트 설정 2plt.plot(df_kakao.index, df_kakao['Close'], 'r', label="Kakao")# 범례 위치 지정plt.legend(loc='upper left')# 차트 제목plt.title('Naver & Kakao')# x축 레이블plt.xlabel('Date')# y축 레이블plt.ylabel('Close')# 차트 실행plt.show()
- 미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
네이버자동로그인_by_selenium
안녕하세요 네이버자동로그인 실습중에 셀레니움문법변경및 기타수정사항반영하여 아래처럼코드를 완성시켰습니다 2022_07_27 현재 headless없이 하면 잘됩니다 그런데 options에 headless를 주고하면 로그인이 안됩니다 사이트마다 headless막는 경우 user-agent설정을 해주면 된다고 하셨는데 그래도 안되네요 로그인한 후 아래 화면이 떠야 하는데 headless모드에서는 아래화면이 안뜨고 바로 capcha화면으로 넘어가더라구요 방법이 없을까요?? 전체코드는 아래와같습니다 import sys import io from selenium import webdriver from selenium.webdriver.chrome.options import Options import time import pyperclip from selenium.webdriver.common.keys import Keys from fake_useragent import UserAgent user_id = 'xx' user_pw = 'xx' ua = UserAgent() print(ua.chrome) sys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding = 'utf-8') sys.stderr = io.TextIOWrapper(sys.stderr.detach(), encoding = 'utf-8') class NcafeWriteAtt: #초기화 실행(webdriver 설정) def __init__(self): chrome_options = Options() chrome_options.add_argument('--headless') chrome_options.add_argument("disable-gpu") chrome_options.add_argument("user-agent="+ua.chrome) self.driver = webdriver.Chrome(options=chrome_options) self.driver.implicitly_wait(5) #네이버 카페 로그인 && 출석 체크 def writeAttendCheck(self): self.driver.get('https://nid.naver.com/nidlogin.login') pyperclip.copy(user_id) self.driver.find_element('xpath','//*[@id="id"]').send_keys(Keys.CONTROL, 'v') self.driver.implicitly_wait(3) pyperclip.copy(user_pw) self.driver.find_element('xpath','//*[@id="pw"]').send_keys(Keys.CONTROL, 'v') self.driver.implicitly_wait(3) self.driver.find_element('xpath','//*[@id="log.login"]/span').click() self.driver.implicitly_wait(3) print("로그인 완료") self.driver.implicitly_wait(3) self.driver.get('https://cafe.naver.com/AttendanceView.nhn?search.clubid=12730407&search.menuid=99&search.attendyear=2022&search.attendmonth=07&search.attendday=27&search.page=1&lcs=Y') self.driver.implicitly_wait(3) self.driver.switch_to.frame('cafe_main') self.driver.implicitly_wait(3) self.driver.find_element('xpath','//*[@id="cmtinput"]').send_keys('출석') self.driver.implicitly_wait(3) self.driver.find_element('xpath','//*[@id="btn-submit-attendance"]').click() time.sleep(1) # 소멸자 def __del__(self): #self.driver.close() #현재 실행 포커스 된 영역을 종료 self.driver.quit() #Seleninum 전체 프로그램 종료 print("Removed driver Object") #실행 if __name__ == '__main__': #객체 생성 a = NcafeWriteAtt() #시작 시간 start_time = time.time() #프로그램 실행 a.writeAttendCheck() #종료 시간 출력 print("---Total %s seconds ---" % (time.time() - start_time)) #객체 소멸 del a
- 미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
위시캣 로그인 처리 및 크롤링 질문
안녕하세요 먼저 좋은강의 감사합니다 위시캣 강의수강중 두가지 질문사항이 있습니다 1)녹화시점과는 다르게 위시캣 개발자도구에서 form data가 나오지 않습니다 왜이런건지 의도적으로 숨긴건가요??이럴경우에는 formdata를 어떻게 확인할수있을까요?? 강의시점 현재 제가확인하는 화면 request headers 밑에 formdata가없음 2) 위의 formdata 확인없이도 key값이름이 바뀌진 않았는지 다행히 로그인되어 실습은 완료하였습니다 그런데 만약 아래와 같이 parsing이 되었다고 했을때 [<div class="body-3 mb10 header">지원한 프로젝트<p class="body-3-medium">0건</p></div>, <div class="body-3 mb10 header">계약한 프로젝트<p class="body-3-medium">0건</p></div>, <div class="body-3 header">누적 완료 금액<p class="body-3-medium">0원</p></div>] 출력결과를 강의영상처럼 div태그에있는 지원한프로젝트 따로 p태그에있는 0건 따로 각각 string을 사용해서 출력하려면 어떻게 코드를짜야할까요?? 아래처럼 p태그는 접근이되는데 div태그에 있는 텍스트가 따로접근이 안되어서(아래처럼 None출력됨) string이 아닌 text를 사용하여 실습완료 했습니다 <참고용실습전체코드> import sys import io from bs4 import BeautifulSoup import requests from fake_useragent import UserAgent sys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding = 'utf-8') sys.stderr = io.TextIOWrapper(sys.stderr.detach(), encoding = 'utf-8') #요청 URL URL = 'https://www.wishket.com/accounts/login/' #Fake User-Agent 생성 ua = UserAgent() #print(ua.ie) #print(ua.chrome) #print(ua.random) with requests.Session() as s: #URL연결 s.get(URL) #Login 정보 Payload LOGIN_INFO = { 'identification': 'xxx', 'password': 'xxx', 'csrfmiddlewaretoken': s.cookies['csrftoken'] } #print('token', s.cookies['csrftoken']) #요청 response = s.post(URL,data=LOGIN_INFO,headers={'User-Agent':str(ua.chrome), 'Referer':'https://www.wishket.com/accounts/login/'}) #HTML 결과 확인 #print('response',response.text) if response.status_code == 200 and response.ok: soup = BeautifulSoup(response.text,'html.parser') projectList = soup.select("div.user-project>div") for i in projectList: print(i.text)
- 해결됨파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
2-8-1 네이버이미지 크롤링 질문
안녕하세요 셀레니움을 사용하지 않고 크롤링하는법을 익히기 위해 강의를 수강하였습니다 네이버이미지가 강의때와는 달리 별도로 요청해서 가져오는바람에 html을 파서하는 형태로는 받을수가 없는것같아요 셀레니움사용은 가급적이면 안하려고하는데 혹시 크롤링할수있는방법이있을까요?? html분석해보니 이미지소스가 https://search.pstatic.net/common/?src=http%3A%2F%2Fblogfiles.naver.net%2FMjAyMTExMjhfNzEg%2FMDAxNjM4MDU2NzQ5NDk3.3rzWIhB9n__9SSWJp-fF0uA4q3-AoGkVvfwt6hpqYm0g.eewDi5b-CXppMeJ_yHTN9vHtovtZNno54OUWU9kMrf0g.JPEG.daa2727%2FIMG_4606.jpg&type=a340 위에건데 html parser했을때는 아래처럼 encoding되어서 보이더라구요 이걸 decoding할수있으면 받을수있을것같은데 방법을 잘모르겠습니다 https%3A%2F%2Fsearch.pstatic.net%2Fcommon%2F%3Fsrc%3Dhttp%253A%252F%252Fblogfiles.naver.net%252FMjAyMTExMjhfNzEg%252FMDAxNjM4MDU2NzQ5NDk3.3rzWIhB9n__9SSWJp-fF0uA4q3-AoGkVvfwt6hpqYm0g.eewDi5b-CXppMeJ_yHTN9vHtovtZNno54OUWU9kMrf0g.JPEG.daa2727%252FIMG_4606.jpg%26type%3Dsc960_832
- 미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
li:nth-of-type 질문
안녕하세요 강의 잘 듣고 있습니다! 제가 질문 올리게 된거는 코드 11번째 줄에 li:nth-of-type(8).string에 관해서인데요 이게 반환값이 계속 none으로 떠서 하나씩 지우면서 확인해보니 html에서 정상적으로 값을 갖고 오고 있는건 맞더라구요 그래서 type(5)로 해서 반환값을 확인해보니 선생님의 코드대로라면 소주가 떠야 하는데 동동주가 반환이 됩니다...! select_one이 아닌 select나 type이 아니라 li:nth-child로 해도 반환값은 다 동동주이고 find로 하면 반환값이 none이 뜹니다ㅠㅠ id값으로 접근해서 양주를 출력하는 방법은 알겠는데 전체 리스트의 idx로 접근해서 양주를 어떻게 출력해야 할지 모르겠어요...ㅠㅠ
- 미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
에러가 뜨는데 잘 모르겠어요ㅠ
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들pytube도 github에서 다 깔았고 nterpreter를 변경시켜 section2로 실행하는데도 pytube가 import가 안되네요 왜 그럴까요?ㅜ
- 미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
Install Packages 항목이 안보이는 이유가 뭘까요?
script도 마찬가지이고 autocomplete-python 역시 보이지 않아 설치를 할 수가 없네요. 저만 그럴까요? atom으로 수업받는걸 포기해야 하나 고민입니다. 진도를 나가야 하는데 환경 설정이 안되 진도를 못나가고 있습니다. 그냥 vscode로 진행 해야 할 것 같기도 하네요. atom이 올해로 개발을 중지 한다는 이야기도 있는 것 같던데... vscode로 세팅하는 것도 올려주시면 좋을 것 같습니다.
- 미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
환경변수 Path 설정 방법
아무곳에서나 실행을 하려면 환경 변수에서 Path 수정을 해야 할 듯합니다. 그렇지 않으면 실행이 안될듯? 윈도우 탐색기 > 내 PC > 마우스 오른쪽 버튼 "속성" 클릭 설정 : 오른쪽 화면 관련 설정 : "시스템 보호" 클릭 시스템 속성 > 고급 탭 : "환경 변수" 클릭 시스템변수 > Path 선택 : 편집 클릭 환경 변수 편집 : 찾아 보기 클릭 atom 폴더를 찾아서 선택 후 확인 버튼 클릭 해당 경로가 화면에 보이면 > 확인 > 확인 > 확인 명령프롬프트 띄워서 어느곳에서나 atom 만 치면 실행 가능
- 미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
웹 브라우저 없는 스크랩핑 및 파싱 실습(1) - 인프런
인프런 사이트가 변경되어서 변경된 사이트 기준으로 셀리니움을 사용해보았는데 로그인 클릭부터 진행이 안되네요 name값을 이메일와 비밀번호로도 해보았습니다 ps. send_key로 보낸 value는 임시로 기재한것입니다 실행할때는 본 아이디와 비밀번호를 기재하였습니다.
- 미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
웹 브라우저 없는 스크랩핑 및 파싱 실습(1) -git주소
webdriver 다운받은 깃주소 https://github.com/mozilla/geckodriver/releases 아닌가요? 변경되었나요? window64 받았더니 강의랑 다른게 나옵니다.
- 미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
download2-8-1. py질문
fullFillName변수에서 os.path.join은 매개변수끼리 결합해주는 함수인데 savePath가 왜 두번 들어가나요? 그럼 중복으로 결합되지않나요?
- 미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
ip 차단 당하는 거 같은데 아무리 랜덤주고, sleep 줘도 안 되는데 다른 방법 더 있을까요??
안녕하세요 현재 도매상에서 물품 검색으로 크롤링 이용하려고 해서 강의를 수강하였습니다. 크롤링 대상 사이트는 총 4개이고, webdriver은 크롬을 사용하였습니다. 크롤링 대상 사이트 중 A도매상이 물품 20개 정도씩 15분 간격으로 검색하게 코드를 짰었습니다. 나머지 3개 도매상은 10개 미만 정도구요.. 그리고 하루에 한번은 A도매상에서 전체 물품이 구매가능한지도 돌려봤었습니다. (200개 정도, 약품당 sleep 1초 정도) 근데 이게 chrome만 차단인가 했더니 IE, 웨일 다 안 되더라구요 모두 로그인 창은 뜨는데 로그인을 하면 흰 화면만 나왔습니다. 그리고 크롤링 하는 컴퓨터 뿐만이 아니라 해당 공유기와 연결된 컴퓨터도 흰 화면만 나왔습니다. 공유기로 들어가서 ip갱신 눌러도 안 들어가져서, MAC주소인가를 바꾸고 나서야 해결이 됬었습니다. 그 이후로는 15분 간격이 아닌 20~60분 중 랜덤하게 돌릴 때마다 간격을 다르게 했고, 물품리스트에서도 물품 검색 순서도 랜덤하게, 물품 200개 정도도 줄여서 170...; 정도를 sleep 3~10 초 중 랜덤하게 이건 정말 차단 당해서 한번 정도만 돌린거 같습니다. 그런데도 일주일정도 되니 차단 당했습니다 ㅠㅠ 돌리는 횟수도 굉장히 적었는데도 왜 차단당했는지 모르겠습니다 ㅠ 근데 이리 쓰면서 보니 차단 당하는 날이 다 월요일인거 같습니다.. 다른 도매상은 검색하는 물품 수가 적어서 그런지 아무런 조치도 없는데 왜 저기만 저러는지 도저히 모르겠습니다. 솔직히 사이트가 그렇게 대단한 보안 사이트도 아닌데... 무슨 로직에 이리 걸려서 차단당하는지 모르겠습니다. 우선은 선생님이 말씀하신 코드 중 하나는 실행하지 않았습니다. from fake_useragent import UserAgent 우선은 desktop으로만 실행되어야 하고.. 그리고 fake_useragent로 하나의 ip에서 여러 기기가 나오면 더 이상해보일 거 같아서 안 넣었는데요...;;;; 지금 ip를 보고 차단하는거 같은데 fake_useragent를 쓰면 해결이 될까요?? ㅠ 그리고 여기 A도매상이 정말 이상한게 제가 모바일로도 도매상 검색을 했던 적이 있는데 모바일은 정말 복불복처럼 들어가지더라구요 그래서 그때는 모바일 웹페이지가 아니어서 그런가 했었습니다. (로그인하면 흰화면만 나옴) 근데 이리 차단당해보니, 그때 모바일은 이미 차단을 당한거고(why...) 위치가 달라져 ip가 달라지니 로그인이 됬던 것이었던 것 같습니다. 의심이 드는게 바로바로 로그아웃을 안하고 웹페이지를 살려두다가 다시 접속하면 차단하는 프로세스인가란 생각도 드는데.. 그래서 이번에는 물품 검색 후 driver.quit()을 넣고 20~60분 sleep한 후에 다시 코드를 돌려보면 해결 될까요 ㅠㅠ 솔직한 맘으로는 입고알림을 해주면 다 해결될 일인데.. 자기네 사이트가 그런 걸 해줄만큼 사이트에 공 들이지도 않을거고.. 이리 계속 차단만 하니 맘 같아선 왜 차단하냐고 따지고는 싶은데 ㅠㅠ 아 추가적으로.. ID차단은 아니어서 진짜 A도매상 주로 주문하는 PC의 IP는 차단당하지 않고 있습니다. (이거 차단당하면 정말 아무것도 하나도 모르는 척 흰 화면만 나와서 주문을 할 수가 없네요 할 예정입니다.) 이게 차단하는 프로세스가 되게 간단할 거 같은데 제 짧은 식견으로는 회피경로를 어떻게 해야할 지 모르겠습니다 ㅠ 그렇다고 mac 주소 변경을 무한정 할 수 있는 입장도 아니라서.. (유플러스에서 10개 정도만 바꾸게 해줘서 ㅠㅠ) 선생님의 고견을 여쭈어 봅니다 감사합니다 ^^
- 미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
인프런 환경이 바뀌어서 제나름대로 하는데
from bs4 import BeautifulSoup import urllib.request as req url = "https://www.inflearn.com/courses?order=seq&skill=python" res = req.urlopen(url).read() soup = BeautifulSoup(res,"html.parser") recommand = soup.select("div.courses_container") for i,e in enumerate(recommand,1): print(i,e.select_one("div.card-content > div.course_title").string) 맨아래 셀렉원으로하면 하나의데이터만추출되긴하지만 정상적으로 되는데, 걍 셀렉으로만하면 스트링 에러 코드가뜹니다 ㅠ