summ의 블로그

파이썬 기초와 웹 크롤링 기초 본문

파이썬

파이썬 기초와 웹 크롤링 기초

summ._ 2024. 9. 19. 21:32

240919

 

 

 

class

 

변수와 함수를 한데 모아 나중에 재사용이 가능하게 함

클래스 선언 --> 객체(변수, 함수) 생성 --> 메서드 실행 

  * 메서드란? 클래스 안에 선언되는 함수 

class 라는 큰 틀이 존재

 

class는 '데이터 타입' 

 

객체는 어떤 데이터타입인지에 따라 사용 가능한 변수, 메서드가 달라짐. 

 

special method

생성자 메서드 __init__(self)    *self: 자기 자신 

객체 생성 시 실행되는 메서드로 사용되는 변수의 초기값을 설정하는 용도로 사용

 

 

class Account:
    balance = 0
    def deposit(self, amount):
        self.balance += amount
    def withdraw(self, amount):
        self.balance -= amount

 

 

 

Client - Internet - Server

 

URL

 

uniform Resource Locator

 

http://news.naver.com:80/main/read.nhn?mode=LSD&mid=shm&sid1=105&oid=001&aid=0009847211#da_727145

 

  • http:// - protocol

https:// 암호화복호화

  • news - sub domain 
  • naver.com - primary domain 
  • 80 - port

or 443 생략 가능 local: 8888

  • /main/ - path 

dir라고 생각. 파일에 접근하기 위한 dir 

  • read.nhn - page 

dir 안의 file. server의 file이 브라우저로 다운 

  • mode=LSD - query 

? 물음표 뒤 공간 :: 쿼리

  • #da_727145 - fragment 

전체 페이지에서 해당하는 위치로 이동이 가능하도록 함

 

* index.html 이 생략된 것

 

 

http request method 

 

 

client                server 간

            -->  request (url)

           <--  response (data, html, json, image, pdf ... )

- browser       - was dbs 와 연결

 

 

request 방법 

  • get 

url 안에 query 포함 

query 데이터 노출, 전송이 가능한 데이터가 작음

--> 보안에 취약함 

  • post 

body(영역) 안에 query 포함

query 데이터 비노출, 전송이 가능한 데이터 많음

 

 

http status code 

 

client server 데이터를 주고받은 결과 정보 

  • 2-- success
  • 3-- redirect

요청해서 받은 html코드가 memory에 저장되어 브라우저에 보여줌.

새로고침할 때 

: 메모리에 있는 데이터를 (network traffic 사용하지 않고) 가져오는 것. cache 

  • 4-- request error 

404 page x

  • 5-- server error

서버에 문제가 생겼을 때

 

==> 400,500 에러가 나면 내 요청이 잘못된 것

에러코드 결정은 was에서 결정

 

 

주요 용어 정리   

 

cookie: ssd를 저장공간으로 사용하는 데이터 

session: client - browser와 server 연결할 때의 연결 정보 

cache: ram(메모리)에 저장하는 데이터, 사용이 빠름

 

 

scraping & crawling 

 

특정 데이터 vs 전체 데이터 수집 차이

 

internet 

pc -> 공유기 -> 사설망 -> 백본망 -> 부산 -> 해저케이블 -> ca -> server 

 

 

OSI 7 layer 

 

물 데 네 전 세 표 응 

물리 physical                        data

데이터 링크 data link            data

네트워크 network data         data

전송 transport                      segement

세션 session                        packet

표현 presentation                 frame

응용 application                    bits

 

 

데이터 수집 

 

데이터 수집 3가지 방식

  • 동적 페이지

- url은 바뀌지 않음

- json

 

  • 정적 페이지

- url 바뀜

- html 

 

  1. url 찾기 --> 웹 페이지 분석 (chrom dev tool )
  2. request (url) --> response(data) - json 동적 / html 정적 
  3. data --> df 변환 : parsing 

json 과 html 의 파싱 방법 다름 

 

  • selenium 

직접 브라우저를 사용하여 데이터를 받음 

 

client                                  server

url         --> request (url)

py         <-- response (data)     

 

 

 

# 동적 페이지
def 함수명(page=, page_size=):
    url = f''
    response = requests.get(url)
    data = response.json()
    return pd.DataFrame(data)[['변수1', '변수2']]

 

'파이썬' 카테고리의 다른 글

웹 크롤링 (3)  (0) 2024.09.23
웹 크롤링 (2)  (1) 2024.09.21
이변량분석 범주형 변수  (0) 2024.09.13
범주형 변수와 수치형 변수 분석  (0) 2024.09.13
수치형변수 이변량분석  (0) 2024.09.12