묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
강의자료 XML_AND_CRAWLING_FUNCODING 파일 형식이 txt입니다
강의 제목 : 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)섹션 7 - IT/데이터 분야를 위한 지식: XML 데이터 포멧 다루기1 (업데이트)해당 영상의 강의자료 "XML_AND_CRAWLING_FUNCODING.txt"가 ipynb 파일이 아니라 txt파일로 업로드가 되어있습니다.직접 파일 형식을 .ipynb로 변경해보려 했지만 어려움이 있었습니다.번거로우시겠지만 ipynb 파일로 다시 업로드해주시면 정말 감사하겠습니다.
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
쿠팡 이미지 파일 다운받기에서 동일하게 코드 작성 후 요청하였지만 파일 다운로드가 안됩니다.
쿠팡 상품 썸네일 전체 다운받기 강의에서동일하게 코드 작성 후 실행하였지만, 다른 크롤링 정보는 정상작동하지만, 파일이 지정된 폴더로 다운이 되지 않습니다. <작성한 코드>import requests from bs4 import BeautifulSoup base_url = "https://www.coupang.com/np/search?component=&q=" keyword = input("검색할 상품을 입력하세요 : ") url = base_url + keyword headers = { "User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36" } cookie = { "a" : "b" } req = requests.get(url, timeout=5, headers=headers, cookies=cookie) html = req.text soup = BeautifulSoup(html, "html.parser") items = soup.select("[class=search-product]") rank = 1 for item in items: badge_rocket = item.select_one(".badge.rocket") if not badge_rocket: continue name = item.select_one(".name") price = item.select_one(".price-value") thumb = item.select_one(".search-product-wrap-img") link = item.select_one("a")['href'] print(f"{rank}위") print(item["class"]) print(name.text) print(f"{price.text} 원") print(f"https://www.coupang.com{link}") # print(thumb) if thumb.get("data-img-src"): img_url = f"http:{thumb.get('data-img-src')}" else: img_url = f"http:{thumb['src']}" print(img_url) print() img_req = requests.get(img_url) with open(f"07_coupang/{rank}.jpg", "wb") as f: f.write(img_req.content) rank+=1 키워드는 '노트북'이고, 저장하려는 폴더 이름은 07_coupang, 위치는 "C:\project\Webcrawling\07_coupang" 입니다.어떤 것이 문제일까요?
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
파이썬에 키워드를 치는게 아닌...
안녕하세요 초보입니다.파이썬에 키워드를 안치고 주기적으로 뉴스 등을 크롤링하여 텔레그램으로 보낼수도 있을까요?
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
Link를 엑셀로 저장할 때 하이퍼링크 되도록 저장 방법 문의
네이버쇼핑 크롤링 수강 중입니다. 데이터를 엑셀로 저장시 링크를 하이퍼링크로 저장하고 싶습니다. 즉, 엑셀 오픈해서 링크를 클릭하면 해당 물건이 바로 열리도록 하고 싶습니다. 아래 1번은 되는데, 2번은 되지 않습니다.문제는 엑셀에서 하이퍼링크 저장시 255자 제한이 있어서 그런 거 같습니다. 데이터 저장 시 해결할 방법이 있을까요? 네이버 링크link = '=HYPERLINK("' + "https://www.naver.com" + '","링크")' 쇼핑몰 링크=HYPERLINK("https://cr.shopping.naver.com/adcr.nhn?x=GwvRQqYCu%2BX8ZwpHCECcSv%2F%2F%2Fw%3D%3DsIn%2F3Yf0iawU%2FzYEzOgBb07i9rrLilELSXaeDEWTHUjtksg%2BYslp4t2Zt1cdDccTdi7DZdZimWRXHZMabDRX2%2B0qx7Bhh0Caeclo2i1Y7qOjFHLn4wLuCnoHhSfPE4oks1bvHhHAfdqzhIkba38yyQMi30QtKP1mA7BYZPpxeJLexWvZfe2todmJfmpbNrXnq6vlxEEPFYikY%2FFgWDJTeh03Mlu1kRkTyoaI3uw69wpRITi0bKHCP2rGy6hahVn%2B%2FZFBJ7H6pZqRmC993ssAkNKg2IE65NtMdlJVi06ALuC2AbCY81f975eS5nfR25FBiP83WAv8GAIoQ0MwLPWeb%2FcJtwFagNdosKd1Zse6UhJ%2BzaLo3YojXuQJMvdaZ%2BI%2FyctBNJeJkeiSk%2FpIY4IZgm7f5ZWpM0X6C8Lqgv9yl84OxyTNOpvF5JKAAUscSxRXpeCJA4vgneLxHO126ixVGIQneuqvZhheEd%2B4ASDHeLEMX6dOjXdNdhYZO31pYVC%2BHCJkBzybiEA%2BrGVfnMGK9vAlypD3xRxtfsji%2Flj2GA5OdSlPOZBN6V54TTL6u%2FzFsCXIMYKkzT061mzrwfgc%2F8GThNu%2B1yBb0rg6nns0Ykn3LVWGr8fvvH1mWvUgXPK6j&nvMid=21813412965&catId=50013800","링크")
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
50프로 수강중입니다~
현재 50프로 수강을 하면 진짜 많은 도움 받고 있습니다. 감사합니다.네이버 플레이스를 크롤링하려다 보니 json형태로 정보를 받을 수 있더라고요.이런 경우는 어떻게 크롤링하고 파싱하는지 알 수 있을까요?...
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
json정보를 주는 사이트 크롤링 방법
강의 너무 재밌고 유익하게 완강하였습니다. 감사합니다~ ^^제가 네이버 플레이스에서 맛집을 추출하려고 하는데 json형태로 제공이 되는데 json형태로 제공되는 사이트를 크롤링하고 데이터를 파싱하는 방법은 강의 내용에는 없던데어떻게 하면 좋을까요? ㅠㅠ 혹시 강의를 추가해주실수도 있을까요?
-
미해결남박사의 파이썬 기초부터 실전 100% 활용
소수 너무 어려워요
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
현재 리뉴얼된 강의 커리큘럼이 맞는지 확인 부탁드려요
기존에 막힐 때마다 다시 보면서 공부하던, 네이버&구글 이미지 클롤링 섹션과 미쳐 보지 못했던 예약 감시 크롤링이 사라지고, 현재 지금의 커리큘럼으로 리뉴얼되었는데요. 섹션8과 9 그리고 10은 오픈 예정으로 닫혀있는 상태가 맞는 것인지 확인 부탁드려요. 언제쯤 오픈되는 건가요?그리고 기존의 강의는 사라진 건가요?
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
왜 오류가 나오는지 이해가 안됩니다
import requests from bs4 import BeautifulSoup response = requests.get("https://finance.naver.com/news/mainnews.naver") html = response.text soup = BeautifulSoup(html, 'html.parser') articles = soup.select(".block1") title = articles.select_one(".articleSubject > a").text print(title)AttributeError: ResultSet object has no attribute 'select_one'. You're probably treating a list of elements like a single element. Did you call find_all() when you meant to call find()? 오류가 나오는 이유를 모르겠습니다..block1 을 찾아서 articles이라는 변수에 저장하고이 변수에서 .articleSubject 를 찾아서 출력하려고 하면 왜 오류가 나는 걸까요? 매번 이 부분에서 한번씩 막혀서 이렇게 저렇게 바꾸다 보면 해결은 되는데 왜 저 문구가 오류가 나는건지 너무너무너무 궁금합니다.
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
제품 링크를 타고 들어가야 원하는 정보가 나오는 사이트
from selenium import webdriver from selenium.webdriver.chrome.options import Options # from selenium.webdriver.chrome.service import Service # from webdriver_manager.chrome import ChromeDriverManager from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys import requests from bs4 import BeautifulSoup import time options = Options() user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36" options.add_argument(f"user-agent={user_agent}") options.add_experimental_option("detach", True) driver = webdriver.Chrome(options=options) url = "https://kream.co.kr/search?shop_category_id=34" driver.get(url) time.sleep(2) for i in range(1): driver.execute_script("window.scrollTo(0, document.body.scrollHeight)") time.sleep(2) html = driver.page_source soup = BeautifulSoup(html, "html.parser") items = soup.select(".product_card") for item in items: brand = item.select_one(".product_info_brand.brand") name = item.select_one(".translated_name") link = item.select_one(".item_inner").attrs['href'] click = name.text driver.find_element(By.PARTIAL_LINK_TEXT, click).send_keys(Keys.CONTROL+Keys.ENTER) time.sleep(1) driver.switch_to.window(driver.window_handles[-1]) html = driver.page_source soup2 = BeautifulSoup(html, "html.parser") model_num = soup2.select_one("div:nth-child(3) > div.product_info") print(brand.text.strip()) print(name.text) print(model_num.text.strip()) print(f"https://kream.co.kr{link}") print() driver.close() driver.switch_to.window(driver.window_handles[0]) 아무것도 모르는 상태에서 시작했는데 좋은 강의 올려주신 덕분에 크롤링을 조금이나마 맛보게 된 것 같습니다. 어설프게나마 완성은 한거 같은데 궁금한게 있어서 질문 남깁니다.상품 링크를 타고 들어가야 원하는 정보를 긁어올 수 있는 사이트인데, 자바스크립트로 동작하게끔 되어 있습니다.시행착오 끝에 셀레니움으로 동작을 시켜봤는데제품 하나하나마다 새창을 열어서 정보를 가져온 후에 창을 닫고.. 다시 새창을 열어서 정보를 가져온 후에 창을 닫고..하다보니 시간도 너무 오래 걸리고 이렇게 하는게 맞는 건지 의구심이 듭니다.어떻게 해야 속도를 높힐 수 있을까요?
-
미해결파이썬 셀레니움 고급편 (python selenium - 크롤링, 크롤러)
move_to_bottom 스크롤 부분
scroll_by_amount로 바뀌면서 시작하는 위치를 설정할 수 없게 된 것 같은데, 만약 인피니티 스크롤 하려고 할 때, 해당 마우스 포인터가 특정한 섹션에 있어야지 인피티니 스크롤을 할 수 있는 페이지라면 어떻게 설정을 해야될까요? 따로 sx, sy와 같이 해당 부분을 고정시키는 방법은 없을까요?
-
미해결파이썬 증권 데이터 수집과 분석으로 신호와 소음 찾기
Table of contents 문의드립니다
안녕하세요, table of contents 정상적으로 설정했는데.ipynb에서 table of contents 버튼을 누르면 아래 사진처럼 목록이 정상적으로 보이지 않습니다.혹시 해결법 아시나요? 감사합니다!
-
미해결LLM 데이터 분석 - 웹 크롤링부터 추천 시스템까지
실습 라이브러리 설치하기 (requirements.txt) 폴더?
안녕하세요. 강사님, 실습 라이브러리 설치하기 (requirements.txt) 위해서어느 폴더에 자료를 저장해야하나요? 가상환경 study로 들어가서 서브로 디렉토리를 따로 만들어야하나요? 아니면 C: drive 개인폴더에 자료저장 공간을 임의로 만들어서 진행해도 되는지요?
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
데이터 분석, 데이터 과학 로드맵 질문
질문에 앞서 먼저 좋은 강의를 제작해주셔서 감사합니다. :)여러 강의를 들어봤는데 해당 수업이 가장 이해하기 좋은 예제와 설명을 해주셔서 공부하는데 너무 큰 도움이 됐습니다.ㅡㅡㅡㅡㅡㅡㅡ질문내용ㅡㅡㅡ"데이터 분석, 데이터 과학 전과정을 쉽게! 단계별로! 꼼꼼하게 익히기" 로드맵을 통해 "파이썬입문과 크롤링기초 부트캠프를 수료한 학생입니다.다름 아니라 로드맵 코스 중 "처음하는 SQL과 데이터 베이스 부트캠프" 와 처음하는 MongoDB와 No SQL 강의가 있는데MongoDB 강의도 필수적으로 들어야 후에 있는 커리큘럼 강의를 이해할 수 있는지 궁금합니다."처음하는 SQL과 데이터베이스 부트캠프" 강의 수료 후, 바로 "처음하는 파이썬 분석(pandas) 강의와 이후 강의를 들어도 강의를 이해하는데 문제가 없는 지 질문드립니다.
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
Claude 3 는 안되는 건가요?
아직 강의가 chat gpt 이용하는 것 까지 강의가 몇 개 남아있습니다만, 현재 Claude 3 를 결제하고 프로로 사용 중인데 주변 서적이나 강의 등을 보면 Chat GPT 를 이용한 내용만 있던데 Claude 3 로는 할 수 없는 걸까요? Chat GPT 로 갈아타야하는 걸까요...?
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
lst = lst50 + lst100 이거 대신에
import requests from bs4 import BeautifulSoup headers = { "User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36" } url = "https://www.melon.com/chart/index.htm" req = requests.get(url, headers=headers) html = req.text soup = BeautifulSoup(html, "html.parser") lst50 = soup.select(".lst50") lst100 = soup.select(".lst100") # lst = lst50 + lst100 if lst50: lst = lst50 elif lst100: lst = lst100 else: print("!!!!!!!!!!!!!") # 자식선택자 > 는 바로 밑에 있을 때만 가능. 바로 밑에 있는게 아닐 때는 그냥 한칸 띄고 입력! for i in lst: title = i.select_one(".ellipsis.rank01 a") singer = i.select_one(".ellipsis.rank02 > a") album = i.select_one(".ellipsis.rank03 > a") print(title.text) print(singer.text) print(album.text) print() # for rank, i in enumerate(lst50, 1): # title = i.select_one(".ellipsis.rank01 a") # print(f"{rank} : {title.text}") # print() print(len(lst)) lst = lst50 + lst100 대신에 앞 시간에 설명해주셨던 if, elif, else 를 사용해봤는데 데이터가 50개만 나오는데, 왜 100개가 다 안나오는 건가요? 무슨 차이가 있는건지 궁금합니다.
-
해결됨[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
동적 페이지 이동 크롤링 방법 문의
안녕하세요, 상세 페이지 내용 크롤링에서 막혀 있다가 이번에 올려주신 리뉴얼 강의 덕분에 해결했습니다.그런데 페이지 이동에서 다시 막혔습니다.아래는 제가 만든 코드입니다. 첫번째 페이지는 잘됩니다.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 selenium.webdriver.common.keys import Keys from bs4 import BeautifulSoup import time import requests from webdriver_manager.chrome import ChromeDriverManager chrome_options = Options() chrome_options.add_experimental_option("detach", True) service = Service(executable_path=ChromeDriverManager().install()) driver = webdriver.Chrome(service=service, options=chrome_options) driver.implicitly_wait(5) driver.maximize_window() driver.get("https://www.dbpia.co.kr/search/topSearch?searchOption=all&query=%EA%B0%80%EC%A7%9C%EB%89%B4%EC%8A%A4") html = driver.page_source soup = BeautifulSoup(html, 'html.parser') articles = soup.select("article.thesisWrap") for article in articles: title = article.select_one("h2.thesis__tit").text info = article.select_one(".thesisAdditionalInfo").text link = 'https://www.dbpia.co.kr' + article.select_one(".thesis__summary > a").attrs['href'] response = requests.get(link, headers={'User-Agent':'Mozilla/5.0'}) html = response.text soup = BeautifulSoup(html, 'html.parser') try: abstract = soup.select_one("div.abstractTxt").text except: " " print(title,info,abstract) 수업에서는 1페이지, 2페이지.... 이렇게 바뀔 때 url이 바뀌는 경우를 알려주셨는데제가 크롤링하려는 페이지는 매우 고약하게도...url이 바뀌지 않습니다.첫페이지 다음의 두번째 페이지부터 계속 url에 '#a'만 붙습니다. 이런 경우 1페이지 다음 2페이지, 3페이지 등 다음 페이지 내용을 크롤링할 수 있는 방법이 있을까요? 해당 사이트 url입니다.https://www.dbpia.co.kr/search/topSearch?searchOption=all&query=%EA%B0%80%EC%A7%9C%EB%89%B4%EC%8A%A4#a 1.<전체 화면> <확대 화면: URL> <확대 화면 : F12 - 소스코드> driver.find_element(By.CSS_SELECTOR, ".dpPaging__link:nth-of-type(1) ").click()이렇게 페이지에 따라 CSS 선택자를 만들고 숫자만 바꿔서 하려고 했는데for문을 적용할 수가 없네요.... 실전편에서 동적 페이지 크롤링 강의 오픈 예정이던데 이런 내용도 다뤄주시면 감사하겠습니다.
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
강의 수강 순서 문의드려요.
유료 강의 첫 수업을 들으려는데 강의가 업데이트가 되었네요? 감사합니다. ^^강의 순서는 1부터 들으면 될까요? 과정 리스트를 보니 설치와 기본은 뒤쪽에 있어서 문의드려요.
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
크롤링 데이터를 웹으로 보여주고 싶습니다.
안녕하세요?? 강의를 엄청 잘 듣고 있는 수강생입니다.다른게 아니라 크롤링한 json 데이터를 웹(스프링이나 스프링부트)에서 화면에 표현하고 싶은데 어떻게 하면 되나요??
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
증권, 메일 등 서비스 목록을 못가져와요 ㅠㅠ
네이버 메인 화면에서 증권, 메일 등 서비스 목록을 못가져와요 ㅠㅠ클래스를 여러가지로 바꿔도 아래와 같이 none로 안나오는데 도움주시면 감사하겠습니다. import requests from bs4 import BeautifulSoup url = "https://www.naver.com" print(url) headers = { "User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36" } req = requests.get(url, headers=headers) html = req.text soup = BeautifulSoup(html, "html.parser") print(soup.title) # 아래 3개 모두 h1 태크 하나를 가져오는 똑같은 결과가 나온다. 즉 방법이 여러가는 라는 말이다. #방법1 print(soup.h1) #방법2 h1 = soup.find('h1') print(h1) #방법3 h1 = soup.select_one('h1') print(h1) # find로 찾을 때 id는 id = 으로 넣고, class는 class_ 이렇게 언더바 넣어야 함 # class에 언더바를 넣는 이유는 class가 파이썬에 예약어로 등록되어 있기 때문이다. h1 = soup.find(class_="search_logo") print(h1) h1 = soup.find(id="special-input-logo") print(h1) service_name = soup.find(class_="service_name", string="증권") print(service_name) shortcut_item = soup.find(class_="shortcut_item", string="증권") print(shortcut_item) link_service = soup.find(class_="link_service", string="증권") print(link_service) shortcut_list = soup.find(class_="shortcut_list") print(shortcut_list) """출력값 https://www.naver.com <title>NAVER</title> <h1 class="search_logo" id="special-input-logo"></h1> <h1 class="search_logo" id="special-input-logo"></h1> <h1 class="search_logo" id="special-input-logo"></h1> <h1 class="search_logo" id="special-input-logo"></h1> <h1 class="search_logo" id="special-input-logo"></h1> None None None None"""