웹크롤링 10

뉴스 크롤링(#네이버 뉴스)_코드 설명

수업 내용 리마인드 및 아카이빙 목적의 업로드Q. 네이버 뉴스에서 '특정 키워드(청년취업사관학교)'와 '날짜 범위(20240101~20240731)'에 해당하는 게시물들을 자동으로 수집하고, 각 게시물의 "제목", "발행기관", "작성일", "본문 내용", "URL"을 추출하여 CSV 파일로 저장하는 코드를 작성하세요.https://search.naver.com/search.naver?where=news&query=%EC%B2%AD%EB%85%84%EC%B7%A8%EC%97%85%EC%82%AC%EA%B4%80%ED%95%99%EA%B5%90&sm=tab_opt&sort=1&photo=0&field=0&pd=3&ds=2024.01.01&de=2024.07.31&docid=&related=0&mynews=..

+ 개발 2024.08.31

Selenium 무한 스크롤 웹 크롤링(#Jungle)_Gen.AI

수업 내용 리마인드 및 아카이빙 목적의 업로드Q. 아래 URL의 메인페이지에서 인피니티 스크롤을 통해 10페이지까지의 제목을 크롤링하여 json 파일 형태로 저장해주세요.https://www.jungle.co.kr/ 디자인 이야기가 있는 디자이너들의 매거진, 디자인정글 www.jungle.co.krA. ChatGPT에게 필요한 정보를 제공하고, 프롬프트를 통해 데이터를 파일로 저장하는 코드 작성 요청1) 프롬프트 작성 및 요청하기너는 웹 크롤링 전문가야. 'Selenium'을 사용하여 아래의 웹 페이지에서 '인피니티 스크롤'을 통해 '기사 제목'을 '10페이지'까지 크롤링하고, 이를 JSON 파일로 저장하는 코드를 작성해줘.제공하는 정보:1. 웹 페이지 URL: https://www.jungle.co.k..

+ 개발 2024.08.18

혼합 방식(동기+비동기) 웹 크롤링(#뉴스기사)_Gen.AI

수업 내용 리마인드 및 아카이빙 목적의 업로드Q. 아래 URL의 다음 뉴스기사의 기사제목, 기사내용, 사람들반응을 모두 크롤링하여 json 파일 형태로 저장해주세요.https://v.daum.net/v/20240811221440047 [단독] '침출수 줄줄' 여수산단 대체녹지, 오염된 토사로 조성됐다【 앵커멘트 】 여수산단 대체녹지에서 1년 넘게 발암물질이 섞인 침출수가 흘러나오고 있다는 소식, 얼마 전 전해드렸는데요. 토양오염의 원인을 찾지 못했다며 녹지를 조성한 기업도, 감독해v.daum.net 결과 예시: [{ “title” : “제목 삽입”, “body” : “본문 삽입“, “reactions”: { “react1”: 0, “react2”:0, … }] A. ChatGPT에게 필요한 정보를 제공하..

+ 개발 2024.08.17

Scrapy를 이용한 웹 크롤링

수업 내용 리마인드 및 아카이빙 목적의 업로드  Scrapy는 파이썬 기반의 웹 크롤링 프레임워크로, 효율적이고 빠르게 웹 데이터를 수집할 수 있는 다양한 기능을 제공합니다. 1. Scrapy란? Scrapy는 웹 크롤링을 쉽게 할 수 있도록 돕는 파이썬 기반의 프레임워크입니다. 프레임워크란 개발자가 특정 애플리케이션이나 솔루션을 개발할 때 반복적으로 사용되는 패턴, 기능, 구조 등을 제공하여 개발 과정을 단순화하고 표준화하는 역할을 합니다.Scrapy를 사용하면 크롤링을 안정적으로, 그리고 빠르게 수행할 수 있으며, 동시 크롤링 기능과 다양한 크롤링 관련 기능을 제공합니다. 2. Scrapy의 주요 개발 순서 Scrapy를 사용해 웹 크롤링을 시작하려면 다음과 같은 순서를 따릅니다:1) Items 정의..

+ 개발 2024.08.16

Selenium을 이용한 웹 크롤링

수업 내용 리마인드 및 아카이빙 목적의 업로드 Selenium은 웹 브라우저를 자동으로 제어할 수 있는 강력한 도구로, 특히 동적 웹 페이지에서 데이터를 추출할 때 매우 유용합니다.  1. Selenium 시작하기 Selenium을 시작하기 위해 먼저 라이브러리를 설치해야 합니다. Python 환경에서 pip install selenium 명령어를 사용하여 설치할 수 있습니다. 설치 후에는 Selenium WebDriver를 사용하여 브라우저를 제어할 수 있습니다.from selenium import webdriverdriver = webdriver.Chrome()driver.get('https://www.naver.com')driver.quit() 이 간단한 코드로 브라우저를 열고, 네이버 페이지에 접..

+ 개발 2024.08.15

비동기 웹 크롤링(#무신사)_Gen.AI

수업 내용 리마인드 및 아카이빙 목적의 업로드Q. 아래 URL 첫 페이지 제품들의 브랜드명, 제품명, 정가, 할인가를 모두 크롤링하여 json 파일 형태로 저장해주세요.https://www.musinsa.com/categories/item/001?device=mw 상의 | 무신사 추천 브랜드무신사에서 상의 관련 상품 리스트와 쇼핑 기획에 대한 자세한 정보를 확인하세요.www.musinsa.com 결과 예시: [{ “brandName” : “브랜드이름”, “goodsName” : “제품명“, “normalPrice”: “ 정가”, “price“ : “할인가” }] A. ChatGPT에게 필요한 정보를 제공하고, 프롬프트를 통해 데이터를 파일로 저장하는 코드 작성 요청1) 필요한 정보 제공하기설명: API ..

+ 개발 2024.08.13

API 요청 찾는 방법

수업 내용 리마인드 및 아카이빙 목적의 업로드 웹 크롤링에 관심이 있으신가요? 웹에서 데이터를 가져오려면 'API 요청'을 이해하고 분석하는 것이 중요한데요. 이 부분이 처음에는 조금 어렵게 느껴질 수도 있어요. 그래서 오늘은 웹사이트에서 API 요청을 찾는 방법을 하나하나 쉽게 설명드리려고 해요. API 요청을 잘 파악하면 원하는 데이터를 훨씬 더 효율적으로 가져올 수 있답니다. 자, 그럼 시작해볼까요?  1. 개발자 도구(F12) 열기 1) 개발자 도구 열기먼저 Chrome 브라우저를 열고, 크롤링하려는 웹페이지로 이동하세요. 그리고 키보드에서 F12 키를 눌러 개발자 도구를 열어주세요. 2) 네트워크 탭 선택개발자 도구가 열리면, 여러 가지 탭이 보일 텐데요, 이 중에서 네트워크(Network) 탭..

+ 개발 2024.08.13

동기 웹과 비동기 웹의 차이(ft.데이터 크롤링)

수업 내용 리마인드 및 아카이빙 목적의 업로드 오늘은 데이터 크롤링에 대해 이야기해볼까 해요. 웹에서 데이터를 자동으로 모아 활용하는 기술인데, 웹 페이지의 구조에 따라 크롤링이 쉽기도 하고 어려워지기도 하거든요. 특히 동기 웹과 비동기 웹이 어떻게 다른지 알면 크롤링이 한층 수월해질 거예요. 그럼 함께 알아볼까요? 1. 동기 웹(Synchronous Web)이란?동기 웹은 쉽게 말해, 웹 페이지가 한 번에 순서대로 로드되는 방식이에요. 페이지를 열면 모든 데이터가 한꺼번에 불러와지죠. 그래서 사용자는 페이지가 완전히 로드된 후에야 내용을 볼 수 있어요. 예를 들어, 뉴스 사이트를 떠올려 볼게요. 웹 페이지를 열면 모든 기사 제목, 내용, 이미지 등이 한 번에 다 로드되죠? 이때 크롤러는 HTML 코드를..

+ 개발 2024.08.13

주가 크롤링(#네이버증권)_Gen.AI

수업 내용 리마인드 및 아카이빙 목적의 업로드Q. 아래 페이지의 '종목명'과 '현재가'를 크롤링해주세요.https://finance.naver.com/sise/sise_quant.nhn 거래상위 종목 : 네이버페이 증권관심종목의 실시간 주가를 가장 빠르게 확인하는 곳finance.naver.com 결과 예시(순위, 종목명, 현재가)1 KODEX 200선물인버스2X 5,2702 KODEX 레버리지 12,6803 삼성중공업 6,9704 KODEX 인버스 6,0955 KODEX 코스닥150선물인버스 6,2206 삼성전자 54,5007 두산인프라코어 6,2508 KODEX 코스닥150 레버리지 10,0109 미래산업 8310 문배철강 3,060 A. ChatGPT에게 필요한 정보를 제공하고, 프롬프트를 통해 데..

+ 개발 2024.08.12

웹 크롤링(#Requests #BeautifulSoup)

수업 내용 리마인드 및 아카이빙 목적의 업로드1. Requests 모듈Requests는 Python의 HTTP 요청을 간편하게 처리할 수 있는 라이브러리입니다. 다양한 HTTP 메서드를 사용하여 데이터를 서버와 주고받을 수 있습니다.GET 요청: 주로 데이터를 조회할 때 사용합니다.import requestsURL = 'http://httpbin.org/get'response = requests.get(URL)print(response.status_code)print(response.text) POST 요청: 새로운 데이터를 서버에 제출할 때 사용합니다.response = requests.post("http://httpbin.org/post", data={'key':'value'}) PUT 요청: 서버에..

+ 개발 2024.08.11