XPath
·
KT AIVLE School/웹크롤링
https://scrapy.org/ Scrapy | A Fast and Powerful Scraping and Web Crawling FrameworkPortable, Python written in Python and runs on Linux, Windows, Mac and BSDscrapy.org Scrapy웹사이트에서 데이터 수집을 위한 오픈소스 파이썬 프레임워크멀티스레딩으로 데이터 수집import scrapy, requestsfrom scrapy.http import TextResponse  1. 프로젝트 생성 !scrapy startproject news!tree news  1. url 수집url = 'https://news.daum.net/'response = requests.get(url)r..
Selenium
·
KT AIVLE School/웹크롤링
Selenium처음에 selenium은 웹 페이지의 테스트를 자동화하기 위해 사용되었다.하지만 웹 크롤링에 많이 사용되게 된다.selenium 패키지로 browser을 chrom driver로 연결한다. SeleniumSelenium automates browsers. That's it! What you do with that power is entirely up to you. Primarily it is for automating web applications for testing purposes, but is certainly not limited to just that. Boring web-based administration tasks can (and shoulwww.selenium.dev   1..
Naver Stock Report
·
KT AIVLE School/웹크롤링
Crawling Naver Stock Report : 정적페이지 종목분석 리포트 : 네이버페이 증권관심종목의 실시간 주가를 가장 빠르게 확인하는 곳finance.naver.com - 네이버 증권 > 리서치 > 종목분석 리포트 > +더보기  1. url 찾기  - Review와 Response에 내가 필요한 데이터가 있는지 확인, Ctrl+F > LG전자가 있는지 확인 - 코드 작성import requestsimport pandas as pdfrom bs4 import BeautifulSouppage = 1url = f'https://finance.naver.com/research/company_list.naver?&page={page}' 2. Request로 HTML 받아오기response = reque..
정적 페이지 크롤링
·
KT AIVLE School/웹크롤링
> 엄청난 해커인 척 하는 꿀팁더보기hacker Typerf11  HTML 구성 요소Document : 한페이지를 나타내는 단위Element : 하나의 레이아웃을 나타내는 단위 : 시작태그, 끝태그, 텍스트로 구성 : /Tag : 엘리먼트의 종류를 정의 : 시작태그(속성값), 끝태그 : p, divAttribute : 시작태그에서 태그의 특정 기능을 하는 값id : 웹 페이지에서 유일한 값class : 동일한 여러개의 값 사용 가능 : element를 그룹핑 할때 사용attr : id와 class를 제외한 나머지 속성들s : hrefText : 시작태그와 끝태그 사이에 있는 문자열 : 수집해야하는 문자엘리먼트는 서로 계층적 구조를 가질수 있습니다. 태그 : 레이아웃 구성 : 제목 문자열 출력 : 한줄 문..
ZigBang 원룸 매물 데이터 수집
·
KT AIVLE School/웹크롤링
Request > Response : 3번필요 망원동 검색 후 url 복사  URL Decoder/Encoder meyerweb.com url을 위 사이트로 Decode > https://apis.zigbang.com/v2/search?leaseYn=N&q=망원동&serviceType=원룸 1. 동이름으로 위도, 경도 구하기 위도, 경도 : lat, lngaddr = '망원동'url = f'https://apis.zigbang.com/v2/search?leaseYn=N&q={addr}&serviceType=원룸'response = requests.get(url)data = response.json()['items'][0] #가장 첫번째꺼 가져오기lat, lng = data['lat'],data['lng'..
NAVER API
·
KT AIVLE School/웹크롤링
네이버 개발자 센터에서 키값 받기  NAVER Developers네이버 오픈 API들을 활용해 개발자들이 다양한 애플리케이션을 개발할 수 있도록 API 가이드와 SDK를 제공합니다. 제공중인 오픈 API에는 네이버 로그인, 검색, 단축URL, 캡차를 비롯 기계번역, 음developers.naver.com  1. Application을 등록해서 Request Token 얻기Application > 애플리케이션등록 > Client ID, Client Secret (key) 획득  2. key를 이용해서 데이터 가져오기- Client ID- Client Secret 두개의 키값 가져오기import pandas as pdimport requestsimport jsonCLIENT_ID, CLIENT_SECRET ..
403 문제가 생겼을 시
·
KT AIVLE School/웹크롤링
403문제 이유파이썬으로 접근하면 클라이언트가 기본 브라우저가 아니기 때문에 request를 할 때, 헤더의 UserInterface가 python이어서 WAS가 response로 403을 출력하는 것인데요.(어뷰징을 막음)이는 headers를 변경해 줌으로써 해결이 가능합니다. Daum 금융 사이트 해결https://finance.daum.netstatus code : 4xxsetting headers로 해결import requestsimport pandas as pd# 1. URLurl = 'https://finance.daum.net/api/exchanges/summaries'# 2. request(url) > response(json)response = requests.get(url)respons..
Web Crawling
·
KT AIVLE School/웹크롤링
웹 크롤링 순서1. URL 찾기 : 웹페이지 분석 (chrome devtools 사용)2. Request (URL) → Response (Data: JSON이면 동적페이지, HTML이면 정적페이지)3. Parsing (Data를 DataFrame으로 변환)- 정적페이지 123 형태- 동적페이지 [1,2,3] 형태  데이터 수집 세부 순서모두 처음엔 URL을 통해 html을 가져온다.- 동적페이지 :웹 브라우져에 화면이 한번 뜨면 이벤트에 의한 화면의 변경이 없는 페이지1. Devtools를 통해 URL을 가져온다.2. Request(url) > Response(str>JSON)3. JSON(str) > list, dict > DataFrame - 정적페이지웹 브라우져에 화면이 뜨고 이벤트가 발생하면 ..
Python
·
KT AIVLE School/웹크롤링
Python- 컴퓨터의 CPU, RAM, SSD를 활용하기 위해서 학습변수선언 : RAM 사용 문법 : 식별자(저장공간을 구분하는 문자열) : PEP20, PEP8(autopep8,flake8)데이터타입 : RAM 효율적 사용 문법 : int, float, bool, str, list, tuple, dict, set연산자 : CPU 사용 문법 : 산술, 비교, 논리, 할당, 멤버 ...조건문, 반복문 : if, elif, else : while, for, break, continue, range() ...함수 : 반복 사용되는 코드를 묶어서 코드 작성 실행 : def, return, scope(global), lambda ...클래스 : 변수, 함수를 묶어서 코드 작성 실행 : 객체지향 구현 : clas..