Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- jupyter notebook
- 포아송분포
- 행사다리꼴
- 모수
- 이항분포
- 이변량자료
- 기댓값과 분산
- 베르누이분포
- 피어슨상관계수
- Anaconda
- 연속확률변수
- 기본행연산
- 통계학입문
- 절삭평균
- 통계학개론
- 표본공간
- 수치형자료
- 범주형자료
- 확률밀도함수
- 모평균
- 수학적확률
- 사조사
- 균일분포
- pmf
- 첨가행렬
- 조건부확률
- 이산형
- 누적분포함수
- 표본평균
- 이산확률질량함수
Archives
- Today
- Total
Syeonny의 블로그
웹 크롤링 (3) 본문
240923
<<< 구글 devtools와 익숙해지기! >>>
selenium
pip install selenium
from selenium import webdriver
import time
자동화하기 위해서 driver를 사용함
- 웹 브라우저 창과 상호작용, URL 이동, 페이지에서 요소 찾기와 같은 작업을 수행
from selenium import driver
driver = webdriver.Chrome()
- page 이동 driver.get(url)
- 자바스크립트 driver.execute_script()
- 검색어 입력 driver.find_element(By.CSS_SELECTOR, '').send_keys('검색어')
- 클릭 driver.find_element(By.CSS_SELECTOR).click()
- 텍스트 뽑아오기 driver.find_element(By.CSS_SELECTOR, '').text
- 페이지 n초 기다리기 time.sleep(n)
- 링크 driver.get_attribute('href')
* By : 요소를 찾기 위한 클래스
* CSS_SELECTOR : css selector로 검색
* ID : id 이용하여 검색
* XPATH : 경로로 검색
find_element(By.ID)
find_element(By.CLASS_NAME)
find_element(By.)
scrapy
: 오픈 소스 웹 크롤링 프레임워크
앞서 진행한 동적, 정적 크롤링보다 더 많이 사용하는 scrapy 에 대해 공부했다.
pip install scrapy
import scrapy
from news.items import NewsItem
가져올 데이터의 구조를 정의할 때 사용되는 items.py 모듈에서 사용자 정의 항목 클래스 NewsItem

- 스케줄러: url이 크롤링되는 순서를 관리함
- 다운로더: 스케줄러로 요청을 받아 인터넷에서 웹페이지를 가져오는 역할
- response: html, url 콘텐츠를 가져와 spider로 전달
- spider: 데이터를 추출하며 스크래핑 작업 생성 방법 정의 crawling process
- item: data model 일종의 컨테이너로 데이터 구조를 정의함
- pipeline: 데이터를 가공하고 저장하기 위한 클래스
- middlewares: 요청과 응답을 처리하기 위한 사용자 정의 클래스
- settings: robots.txt 규칙, 요청을 보내고 여러 py를 통해 최종적으로 스크랩된 데이터 저장
* robots.txt : 웹 크롤러가 접근할 수 있는 것/ 없는 것에 대한 규칙 제공
url = ' '
response = requests.get(url)
selector = ' ' # 추출할 데이터 xpath
links = response.xpath(selector).extract() # xpath 를 사용하여 response에서 일치하는 요소를 찾고 데이터 추출
%%writefile 파일명/파일/items.py
%%writefile 파일명/파일/spiders/spider.py
- parse 함수 사용: 웹 페이지를 요청하고 응답을 처리하는 기본 메서드로 yield 사용
* %%writefile: Jupyter에서 파일을 생성하거나 덮어쓰는 데 사용
items, spider 파일을 작성하면 된다.
마지막 실행 방법
실행 dir 에서 cmd 이동 후 scrapy spider name
'파이썬' 카테고리의 다른 글
웹 크롤링 (2) (1) | 2024.09.21 |
---|---|
파이썬 기초와 웹 크롤링 기초 (0) | 2024.09.19 |
이변량분석 범주형 변수 (0) | 2024.09.13 |
범주형 변수와 수치형 변수 분석 (0) | 2024.09.13 |
수치형변수 이변량분석 (0) | 2024.09.12 |