[TIL] Day 10 - 웹 스크래핑
⛺ 𝗕𝗼𝗼𝘁 𝗖𝗮𝗺𝗽/멋쟁이사자처럼 AI 스쿨 6기

[TIL] Day 10 - 웹 스크래핑

 

 

 10일차 

  • cols = [컬럼명 리스트]
  • df = df[cols]
    • 컬럼명 변경하기
    • df.columns = cols 로도 변경 가능하다.
  • pd.concat(list) 로 list에 들어있는 데이터 프레임을 한번에 합칠 수 있다.
  • df.dropna(how='all', axis=0).dropna(how='all', axis=1)
  • pd.read_html(url, encoding) 로 사이트 내 정보를 데이터 프레임 형태로 리스트로 담아올 수 있다.
  • requests 모듈
    • import requests
    • requests.get(url, headers)
  • read_html 로 담아오지 못할 때가 있다. 이럴 때는 header 에 무엇이 필요한지 확인.
    • user-agent : 해당 정보로 내가 로봇이 아닌 것을 알려줘야함
    • user-agent 는 key-value 값으로 넘겨줘야 한다
  • BeautifulSoup
    • from bs4 import BeautifulSoup
    • bs(res.text, parser) 하면 html 파일을 포맷되어 볼 수 있다.
    • 이렇게 되면 속성으로 text 를 읽어올 수 있다.
      • html.title.string
      • himl.find('a')
      • html.find_all('a')
      • html.select('a')
    • 내가 원하는 태그를 가지고 있다.
    • parser는 lxml 을 권장한다. 각각마다 속도의 차이가 있다.
  • df.set_index()
  • df.reset_index(drop=True) 로 인덱스를 다시 지정할 수 있다.
    • drop=True 로 이전의 인덱스를 삭제하고 새로 지정할 수 있다.
  • time.sleep()
    • 웹 스크래핑을 할 때 매너
    • 1초는 너무 느리고, 0.1초 나 0.01초를 정도를 권장한다. 
  • import tqdm
    • 해당 라이브러리를 사용하면 trange() 를 사용할 수 있다.
    • trange() 는 지금 진행 상태를 바 형태로 보여준다.
  • 전체 데이터 행/열 보기
    • pd.set_option('display.max_columns', None)
    • pd.set_option('display.max_rows', None)
  • df.drop_duplicates() 로 중복된 데이터를 삭제할 수 있다.
  • HTTP Status_Code

https://ko.wikipedia.org/wiki/HTTP_%EC%83%81%ED%83%9C_%EC%BD%94%EB%93%9C

 

HTTP 상태 코드 - 위키백과, 우리 모두의 백과사전

아래는 HTTP(하이퍼텍스트 전송 프로토콜) 응답 상태 코드의 목록이다. IANA가 현재 공식 HTTP 상태 코드 레지스트리를 관리하고 있다. 모든 HTTP 응답 코드는 5개의 클래스(분류)로 구분된다. 상태 코

ko.wikipedia.org

 

 

 

 회고 

벌써 부트캠프를 시작한지 10일 차가 되었습니다.

시간은 느린듯 빠르게 가는 것 같아요. 수업을 들으면 들을수록 멋사 부트캠프를 하길 잘했다는 생각이 듭니다.

배우는 내용도 너무 좋고, 강사님들도 너무 지적이십니다.

혼자서 했다면 그냥 넘어갔을 내용들도 꼼꼼하게 배우게 되고, 그 과정에서 성장함을 느낍니다.

하나의 지식이 빛바라지 않도록 꾸준하게 삽시다.

다른 것 보다 꾸준함과 성실함은 배신하지 않는 사람의 재산 같아요.

저도 꾸준한 사람이 되도록 노력하겠습니다.

 

 

 

 

 

 

 

728x90