[데이터 엔지니어링 데브코스] TIL 7일차 - 파이썬으로 웹다루기(2)

박단이·2023년 10월 24일
0

데브코스 TIL

목록 보기
6/56

오늘 공부한 내용🤓

  1. WEB

    • 네트워크(Network) : 두 컴퓨터를 연결하여 정보를 교환하는 것
    • 근거리 지역 네트워크(Local Area Network, LAN)
      : 두 개의 컴퓨터가 아닌 가까운 여러 컴퓨터를 연결하는 것을 라고 한다.
    • 인터넷(Internet, Inter Network) : 범지구적으로 연결된 네트워크
    • Web(World Wide Web, WWW) : 인터넷에서 정보를 교환할 수 있는 환경
  2. HTTP(HypterText Transfre Protocol)

    • 웹 상에서 클라이언트와 서버가 정보를 주고 받기 위한 약속
    • HTTP의 요청/응답에 대한 정보를 담는 Head와 그에 대한 내용물인 Body로 이루어져 있다.
  3. 웹 크롤링 vs 웹 스크래핑

    • 웹 스크래핑은 웹 페이지로부터 우리가 원하는 정보를 추출
    • 웹 크롤링은 crawler를 사용해서 웹 페이지의 정보를 인덱싱
    • 웹 크롤링/스크래핑을 진행할 땐 어떤 목적을 달성하고자 하는지, 서버에는 영향을 미치지 않는지 고려해야 한다.
  4. REP

    • 웹 브라우징은 로봇이 할 수 있는 일이기 때문에 이를 방지하고 엄격히 규제해야한다. 그 방법이 REP(Bobot Exclusion Protocal)
    • robots.txt를 사용하여 크롤링/스크래핑의 범위를 지정한다.
  5. python 코드

    import requests
    
    # get 요청 : 정보를 불러올 때 사용하는 Method
    res = requests.get("url")
    print(res.head)   # header 내용
    print(res.text)   # body 내용을 text로 표출
    
    # post 요청 : 정보를 갱신할 때 사용하는 Method
    # payload는 dict 형식 (예. {'name': 'danee', 'age' : 28})
    res = requests.post("url", payload)
    print(res.status_code)   # 통신 상태 값, 200은 성공
    
    # REP
    # 스크래핑/크롤링 하려는 url에 /robots.txt 를 붙혀서 get을 해오면 
    # 해당 페이지의 REP 규제 범위를 알 수 있다.
    res = requests.get("url/robots.txt")
    print(res.text)

궁금한 내용 / 어려운 내용❓

  • get, post 함수에 다른 인자들이 있는지 없는지 궁금하다.

잊지 않고 해야지📝

  • 일반 배열과 연결 리스트의 실행 시간 비교

느낀 점😊

크롤링이라고만 불렀던 행동이 스크래핑과 더 비슷하다는 것을 알게되었다. 웹과 네트워크의 간단한 정의조차도 몰랐었는데 이번에 알게 되어 개발자에 조금더 가까워지고 있는 느낌이 들어서 기분이 좋다.

오늘은 양방향 연결 리스트에 대한 블로그를 작성했다. 꽤나 유용하게 사용할 수 있는 자료 구조라는 생각이 들었고 빠르게 다음 내용들을 정리하고 직접 문제에 적용해보고 싶었다.

profile
데이터 엔지니어를 꿈꾸는 주니어 입니다!

0개의 댓글