내 업무를 대신 할 파이썬(Python) 웹크롤링 & 자동화 (feat. 주식, 부동산 데이터 / 인스타그램)대시보드
60,500원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결내 업무를 대신 할 파이썬(Python) 웹크롤링 & 자동화 (feat. 주식, 부동산 데이터 / 인스타그램)
부동산 KB 시세 크롤링 문의
kb시세를 크롤링하는 부분에서 같은평형대가 존재하면 마지막에 있는 평형대의 시세를 가져오는것 같습니다.예를들어 해당단지에 117A 타입과 117B타입이 있습니다.아파트의경우 A타입의 거래는 많지만 B타입은 거래가 없습니다.그래서 A타입의 시세를 조회해야하는데 코드 특성상 같은평형이라면 마지막에 수행한 시세정보를 가져오게 되어있습니다. B타입의 시세를 가져오게 되면 현 시세와 맞지 않는 부분이있습니다. 같은평형대가 있다면 A타입의 시세를 가져오는 코드가 궁금합니다. #kb시세 series_list = [] for _, row in final_complex_detail_df.iterrows(): complex_num = row['complexNo'] area_num = row['pyeongNo'] url = "https://new.land.naver.com/api/complexes/{}/prices?complexNo={}&tradeType=A1&year=5&priceChartChange=false&type=table&areaNo={}&provider=kbstar".format( complex_num, complex_num, area_num ) res = requests.get(url, headers=headers) data_dict = res.json() try: series = pd.DataFrame(data_dict['marketPrices']).iloc[0] series['complexNo'] = complex_num series['pyeongNo'] = area_num series_list.append(series) except: continue time.sleep(0.03) price_df = pd.concat(series_list, axis=1).T
- 해결됨내 업무를 대신 할 파이썬(Python) 웹크롤링 & 자동화 (feat. 주식, 부동산 데이터 / 인스타그램)
7.1 주식 일별 시세 데이터(Yahoo finance)
7.1 주식 일별 시세 데이터(Yahoo finance) yahoo finance에서 aapl로 검색하고, historical data를 클릭하고 기간을 5년으로 설정하고 Apply 버튼을 클릭하고, 일별시세 데이터를 더 많이 보이기 위해서 마우스 휠로 스크롤한 뒤에 Ctrl + f 로 일별시세 데이터 중 하나인 98,944,600를 입력하고검색하면(enter를 치면) '일치하는 항목이 없습니다.'라는메세지가 출력됩니다. 강의에서는 해당 데이터가 있는 페킷을 잘 선별해주는데 저는 아무리 해도 잘 안되네요. 무엇은 문제일지 짐작가시는 것이 있을 까요?
- 미해결내 업무를 대신 할 파이썬(Python) 웹크롤링 & 자동화 (feat. 주식, 부동산 데이터 / 인스타그램)
네이버 부동산 매물 크롤링 오류
해당 커리큘럼 수행 중 질문드립니다.개포동의 모든 아파트 단지 매물을 크롤링하고싶은데,강사님꼐서 하신방법을 해보니 화면에 떠있는 마커들의 단지들만 크롤링해오는것 같습니다. 지도를 줌아웃 상태에서 complex_id 를 len 찍어보니 계속 변하네요.해당부분 확인부탁드립니다.감사합니다.
- 미해결내 업무를 대신 할 파이썬(Python) 웹크롤링 & 자동화 (feat. 주식, 부동산 데이터 / 인스타그램)
네이버 부동산 크롤링 문의드립니다.
안녕하세요 좋은 강의 잘 듣고 있습니다.네이버 부동산 크롤링 관련하여 문의드리려고 하는데요,특정 url에 대해 get을 통해 데이터를 받아올 때 특정 횟수 이상 요청을 반복하면 네이버에서 거절을 하는 것 같습니다.(특정 횟수 후 res = get(url, headers = headers) 후 res.text를 찍어보면 "페이지를 찾을 수 없습니다."라는 식의 내용으로 바뀜) 앞선 질문 중에 retry 라이브러리 이용하여 해결했다는 사례를 봤고, headers 변수 내의 일부 key에 대한 Value를 변경하면 다른 주체(?)로 서버가 인식하여 다시 응답을 준다라고 이해했습니다. 여러 Location에 있는 pc로 각각의 header 정보를 확인해보니 대부분의 내용은 동일하였으나 [Authorization, Referer] 정도가 다른 Value를 갖더라구요. 따라서 최초 시도 후 서버로부터 Block 발생 시 다른 pc에서의 header 정보로 수정하여 다시 get을 시도했는데 여전히 동일한 block이 발생하고 있습니다. 질문입니다. header 정보의 일부 Key에 대한 Value를 임의로 수정했는데 서버에서 동일한 요청으로 판단할 수가 있나요? 즉 헤더 정보보다 상위의 메타 데이터가 있나요? 혹은 제가 header 정보 수정을 잘못 했다던지 등의 조언 부탁드립니다. 감사합니다.
- 미해결내 업무를 대신 할 파이썬(Python) 웹크롤링 & 자동화 (feat. 주식, 부동산 데이터 / 인스타그램)
버전 관련 질문
안녕하세요. 파이썬 및 판다스의 강의 촬영 날짜 기준 버전과 현재 버전이 다른데 문제 없이 강의를 따라갈 수 있을까요??
- 미해결내 업무를 대신 할 파이썬(Python) 웹크롤링 & 자동화 (feat. 주식, 부동산 데이터 / 인스타그램)
5.2강 주식 일별 시세 데이터 관련 질문이 있습니다
안녕하세요 5.2강 주식 일별 시세 데이터 part2 강의 중 select문을 find를 활용해서 바꾸는 걸 강의에서 다루시는데 이 부분에 대해서 궁금증이 있어서 질문합니다. 강의 중에는 tr_element1 을 tr_elemnt2로 바꾸시는 과정을 했는데, 복습 중에 tr_element3의 방법으로 실행을 시켜도 같은 결과값이 출력되는 것을 발견했습니다. tr_element2가 더 확실한 방법이어서, 강의 중에 그 방법만 다루신건가요?? 혹시 tr_element3의 방법으로 하면 안되는 특별한 이유가 있을까요?? 좋은 강의 정말 감사드립니다 : )
- 해결됨내 업무를 대신 할 파이썬(Python) 웹크롤링 & 자동화 (feat. 주식, 부동산 데이터 / 인스타그램)
7.1 야후 파이낸스 크롤링 request 오류
혹시 못보셨나 해서 다시 올립니다.7.1 진행중에 request 오류가 나서기존 질문 답변보고 강의노트에 있는 헤더 넣어서 request.get 했는데도response 404가 나옵니다. 아래는 제가 실행했던 코드 입니다. =================================================== # importimport requestsimport bs4import timeimport randomimport numpy as npimport pandas as pdfrom IPython.core.interactiveshell import InteractiveShellInteractiveShell.ast_node_interactivity = "all"pd.set_option('display.float_format', lambda x: '%.3f' % x)pd.set_option('display.max_columns', None) url = "https://finance.yahoo.com/quote/AAPL/history?period1=1581206400&period2=1612828800&interval=1d&filter=history&frequency=1d&includeAdjustedClose=true"headers = {"cache-control": "max-age=0","sec-ch-ua": 'Chromium";v="94", "Google Chrome";v="94", ";Not A Brand";v="99',"sec-ch-ua-mobile": "?0","sec-ch-ua-platform": "macOS","sec-fetch-dest": "document","sec-fetch-mode": "navigate","sec-fetch-site": "same-origin","sec-fetch-user": "?1","upgrade-insecure-requests": "1","user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36",} requests.get(url, headers)=================================================상기 내용이 미결이라 진도를 나아가지 못하고 있습니다.혹시 7.1 ~ 7.3 그냥 넘기고 바로 8로 넘어가도 문제 없을까요?
- 미해결내 업무를 대신 할 파이썬(Python) 웹크롤링 & 자동화 (feat. 주식, 부동산 데이터 / 인스타그램)
anaconda
안녕하세요anaconda 가상환경에 형태소 분석기,konlpy 설치 방법을알려주세요. 여러가지 방법으로 설치를 해도 오류가 나서문의 드립니다. 감사합니다.
- 해결됨내 업무를 대신 할 파이썬(Python) 웹크롤링 & 자동화 (feat. 주식, 부동산 데이터 / 인스타그램)
야후파이낸스 크롤링 오류
7.1 진행중에 request 오류가나서기존 질문답변 보고 강의노트에 올려주신 헤더 넣어서 requests.get했는데도response 404가 나옵니다. 확인 부탁 드립니다.
- 미해결내 업무를 대신 할 파이썬(Python) 웹크롤링 & 자동화 (feat. 주식, 부동산 데이터 / 인스타그램)
셀레니움 변경점
https://selenium-python.readthedocs.io/locating-elements.htmlfind_element/s 함수에 변경점이 생겨 현재 교재로는 코드가 작동하지 않습니다.위 페이지 참고하시면 되겠습니다.
- 미해결내 업무를 대신 할 파이썬(Python) 웹크롤링 & 자동화 (feat. 주식, 부동산 데이터 / 인스타그램)
request.get() 하면 SSLCertVerificationError 에러가 납니다.
구글로 찾아보니 신뢰할수 없는 인증서 사용이라서 verify=False 를 하면 된다고 하는데요, res = requests.get("https://search.naver.com/search.naver?where=view&sm=tab_jum&query=%EB%A7%9B%EC%A7%91", verify=False) 하면 아래와 같이 경고가 나옵니다. 해결 할 방법이 있나요? InsecureRequestWarning: Unverified HTTPS request is being made to host 'search.naver.com'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/1.26.x/advanced-usage.html#ssl-warnings warnings.warn(
- 미해결내 업무를 대신 할 파이썬(Python) 웹크롤링 & 자동화 (feat. 주식, 부동산 데이터 / 인스타그램)
이론 수업 자료 공유 해주실 수 있나요?
안녕하세요, 이론 수업 자료도 같이 받아보고 싶은데 공유해주실 수 있나요?당연히 혼자 공부하는데만 사용할 예정 입니다.
- 미해결내 업무를 대신 할 파이썬(Python) 웹크롤링 & 자동화 (feat. 주식, 부동산 데이터 / 인스타그램)
환불 가능할까요?
안녕하세요 강사님 강의 결제 후 많은 기간이 지났는데 수강을 안하고 있어서 그런데환불기준에는 부합하지 못하지만 혹시 환불이 가능할까요?
- 미해결내 업무를 대신 할 파이썬(Python) 웹크롤링 & 자동화 (feat. 주식, 부동산 데이터 / 인스타그램)
encparam을 이용한 크롤링 문의드립니다
안녕하세요 올려주신 코드로 encparam의 값을 가져오는것은 문제없이 잘 동작합니다.그런데 가져온 encparam 의 값이 실제로 주재무재표 확인을 위한 페이지를 열었을때와 다른 해시값을 가지고 있어 재무재표 url에 대한 request가 정상적으로 동작하지 않는 문제가 있습니다. 올려주신 코드가 현재 잘 동작하는지 한번 검토 부탁드립니다. 올려주신코드의 재무재표 확인 url 형식https://navercomp.wisereport.co.kr/v2/company/cF3002.aspx?cmp_cd=005930&frq=0&rpt=0&finGubun=MAIN&frqTyp=1&cn=&encparam={} 현재 동작하는 url 형식https://navercomp.wisereport.co.kr/v2/company/ajax/cF3002.aspx?cmp_cd=005930&fin_typ=4&freq_typ=A&encparam={}
- 미해결내 업무를 대신 할 파이썬(Python) 웹크롤링 & 자동화 (feat. 주식, 부동산 데이터 / 인스타그램)
네이버 일별시세에서 res.text 한줄로 나옵니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
- 미해결내 업무를 대신 할 파이썬(Python) 웹크롤링 & 자동화 (feat. 주식, 부동산 데이터 / 인스타그램)
이제 엄청 초반인데 막혔습니다 ㅠ
requirements.txt 파일에 접근해서 pip install -r requirements.txt 해야하지 않습니까? 근데 이 파일에 접근이 안되는데 혹시 이유좀 알려주실 수 있나용 이것 구글에 쳐봐도 잘 모르겠어요 ㅜ 다운 받은 강의 자료를 지워서 새로 깔아도 안되고 파일 위치를 옮겨봐도 소용없어요. 그리고 dir로 디렉토리 띄워놓고 cd requirements.txt 칠때 탭으로 자동완성도 안되는거 보니 뭔가 연관이 있는거 같은데 알려주시면 감사하겠습니다
- 미해결내 업무를 대신 할 파이썬(Python) 웹크롤링 & 자동화 (feat. 주식, 부동산 데이터 / 인스타그램)
드디어 강의 정독 2번째 했네요
안녕하세요 선생님 근 1개월 동안 파이썬 기초 부터 크롤링 까지 공부를 계속하면서 공부했습니다 그래서 우선부동산 데이터 크롤링 하는것부터 하고 있는데요 대구 / 경북 지역의 부동산 단지정보를 수집하자 라는 목표로 우선 프로그램을 짜고 있습니다. 네이버 부동산의경우 해당 지역 대구시 > 남구 > 대명동 일경우 타 동의 정보도 화면에 노출되어 타 동의 단지정보도 같이 나타나게 되는것을 확인하였습니다 . 그래서 작업방식은 단지정보 수집을 위한 코드 값은 모바일 m.land.naver.com에서 수집하고 이때 수집된 단지 정보로 상세정보를 수집하기로 하였습니다 우선 단지정보수집을 위해서 아래와 같이 코드를 작성하였는데요 for문에서 오류가 발생하네요 기초정보를 출력하는 코드들은 수업에서 배운내용으로 테스트가 끝난 상태입니다 아래 코드에서 발행하는 문제에 대해서 조언을 부탁드리겠습니다 %matplotlib inline from IPython.core.interactiveshell import InteractiveShell InteractiveShell.ast_node_interactivity = "all" import pandas as pd pd.set_option('display.float_format', lambda x: '%.3f' % x) pd.set_option('max_columns', None) import requests import bs4 import time import numpy as np from datetime import datetime from selenium import webdriver driver = webdriver.Chrome() driver.get("https://m.land.naver.com") from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC headers = { "Connection": "keep-alive", "Host": "m.land.naver.com", "authorization": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IlJFQUxFU1RBVEUiLCJpYXQiOjE2MjMyMzkyMzksImV4cCI6MTYyMzI1MDAzOX0.gdgEApo9bDG5IsSsYDWWeHlAN9LtNh6ejEARMS0FGL8", "Referer": "Referer: https://m.land.naver.com/", "Sec-Fetch-Dest": "empty", "Sec-Fetch-Mode": "cors", "Sec-Fetch-Site": "same-origin", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 Safari/537.36", } comid = 2700000000 #대구광역시 코드 mycomid = 2700000000 url = "https://m.land.naver.com/map/getRegionList?cortarNo={}&mycortarNo={}".format(comid,mycomid) res_reg = requests.get(url, headers=headers) print(res_reg) data_dict = res_reg.json() data_dict #데이터 확인하기 region_list_df = pd.Series(data_dict['result']).to_frame().T region_list_df #내부에 파일이 묶여져 있어서 리스트만 뽑아올 필요가 있다 region_list_df['list'] nested_df1 = pd.DataFrame(region_list_df['list'].iloc[0]) nested_df1 #내부에 있는 데이터만 뽑아서 확인하기 cartNuns = nested_df1['CortarNo'] nested_list = list(cartNuns) #아파트코드만 뽑아오기 ---------------------- for i in nested_list: comid_st = i url = "https://m.land.naver.com/map/getRegionList?cortarNo={}".format(comid_st) res_reg = requests.get(url, headers=headers) data_dict = res_reg.json() region_list_df = pd.Series(data_dict['result']).to_frame().T nested_df1 = pd.DataFrame(region_list_df['list'].iloc[0]) nested_df1 요부분이 에러가 나옵니다
- 미해결내 업무를 대신 할 파이썬(Python) 웹크롤링 & 자동화 (feat. 주식, 부동산 데이터 / 인스타그램)
elements_by_css_selector문법
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 무문법이 바뀌었다해서 문의드립니다 문법해결해주세요..
- 미해결내 업무를 대신 할 파이썬(Python) 웹크롤링 & 자동화 (feat. 주식, 부동산 데이터 / 인스타그램)
다음과 같이 에러가 뜨는데 해결책이 있을까요?
- 미해결내 업무를 대신 할 파이썬(Python) 웹크롤링 & 자동화 (feat. 주식, 부동산 데이터 / 인스타그램)
full code 공유(220512 최신화)
for keyword in ["맛집", "좋아요", "맞팔"]: url = "https://www.instagram.com/explore/tags/{}/".format(keyword) driver.get(url) time.sleep(2) first_pic_element = WebDriverWait(driver, 10).until( EC.presence_of_all_elements_located((By.CSS_SELECTOR, "div.Nnq7C div.v1Nh3 > a")) )[0] first_pic_element.click() time.sleep(2) try: while True: # 좋아요 누르기 driver.find_elements(By.CSS_SELECTOR, "div.rrUvL > span > svg")[0].click() if like_button.get_attribute("aria-label") == "좋아요": like_button.click() time.sleep(0.5) driver.find_element(By.CSS_SELECTOR, "svg[aria-label='다음']").click() time.sleep(2) except Exception: continue ps. 개인 계정으로 진행하다보니 저는 팔로우기능은 일부러 뺏습니당 ㅎㅎ..