본문 바로가기

kt aivle

kt_aivle7_웹크롤링

학교 다닐 때 웹크롤링 수업을 들은 적이 있다.

그 당시에 흥미가 갔지만, 한 학기 수업이라서 그런가 더 많이 배우지 못해 아쉬웠다.

그런데 이번 기회에 웹크롤링 수업을 들을 수 있어서 좋았다.

많이 배워가야겠다.

 

웹크롤링
웹크롤링 방법

웹페이지의 종류 : 정적인 페이지, 동적인 페이지

request 이용 : html, json

 

Danamic : 동적인 페이지 – json

) 동적 페이지: 더보기란이 있어서 그거 누르면 더 내용이 보이는 거!이건 url이 안 바뀐다. (화면 변경 o)

 

Static : 정적인 페이지 – html

) 정적 페이지: 페이지수 1,2,3 등이 있고 다른 페이지 누르면 내용 바뀌면서 url까지 바뀐다. (화면 변경 x)

 

selenium

 브라우저를 직접 열어서 데이터를 받는다.

 

크롤링 방법에 따른 속도

requests json(동적페이지) > requests html(정적페이지) > selenium

- selenium이 가장 빠르다.

 

< 동적 페이지에서 json 쓰는 법 >

F12: 검사하기에 들어가기

json을 쓰기 위해 fetch/XHR을 누른다. 깨끗하게 클리어해 준 후 더 보기를 눌러 새로 생성시키고 나서 header 있는 url 복사한다.

 

response status code 200 나오는지 확인해야 한다. 400, 500번 대는 오류이다.

 

<순서> 

1.     url

2.     request(url) – 추가: header, ( post이면 params도 가능)

3.     response – json, html

4.     json: list, dict (dataframe) < ㅡ > html: beautifulsoup(css) -> txt

 

li를 얻기 위해서는 검사(f12)해서 원하는 부분 element li선택 후 오른쪽 마우스 클릭, copy를 누른 후 copy select 선택!

 

< 복사 >

얕은 복사(mutable) : 주소 값 복사

주소 값이 복사되기 때문에 복사한 값과 복사된 값이 같이 바뀐다.

예) d2 = d1ㅡ> d2의 값을 바꾸면 d1의 값도 바뀐다.

 

깊은 복사(immutable) : 데이터 복사 .copy()

데이터 값만 복사되기 때문에 복사한 값만 값이 바뀌고, 복사된 값은 그대로 유지된다.

예) d2 = d1.copy() ㅡ> d2의 값을 바꾸더라도 d1의 값은 바뀌지 않는다.

 


웹크롤링 수업은 듣고 싶은 수업이라 알차고 재밌었다!

복습하면서 까먹지 말아야겠다.

 

 

 

'kt aivle' 카테고리의 다른 글

kt_aivle8_머신러닝  (0) 2023.08.31
kt_aivle6_클래스  (1) 2023.08.28
kt_aivle5  (0) 2023.08.19
kt_aivle4  (0) 2023.08.18
kt_aivle3  (0) 2023.08.11