Python으로 웹 스크래퍼 만들기 ~4.9

fever·2023년 10월 13일
post-thumbnail

📌 파이썬 반복문 (for)

  1. for문은 tuple이나 list 안에 있는 코드를 실행하기 위해 사용된다.
  2. 튜플이나 리스트를 선언할 때는 관습적으로 복수형으로 사용하고, for을 사용할 때는 단수를 이용한다. ex. for website(단수) in websites(복수)
  3. 쉽게 말하자면 for문은 튜플, 리스트 안에 각각의 코드를 개별로 실행시킬 때 좋다.

📌 파이썬 URL Formatting

  1. https가 붙여지지 않은 URL에 https를 붙이고자 한다.
  • 간단한 연습으로 if와 else를 사용해서 붙인 것과 붙이지 않은 걸 구분 가능
  • startswith는 문자옆이 특정 문자로 시작하는지 체크해주는 메서드
  1. 하지만 https가 없는 것에만 https를 붙이고 싶기 때문에 if not을 사용한다.
  • 이와 동일한 방법으론 if website.startswith("https://") == False가 있다.
  1. 이후 f""를 사용하여 https가 없는 값에 https를 추가하게 수정한다.

❗️주의사항


프린트 출력문을 for와 동일한 선상으로 할 시에는 if not 안에 모든 반복이 수행되고, 제일 마지막에 실행된 값만 출력되니 print는 if not과 같은 선상에서 실행해야 한다.

📌 Requests 모듈 다운

  1. Replit사용 시 패키지 탭을 열고, requests를 검색하여 다운 진행.
  2. import로 requests 작성

📌 Requests 모듈 사용

  1. from으로 requests를 가져오고 import로 get(쓰고자 하는 함수) 작성
  2. get: 하나의 URL을 받고, 웹사이트를 가져온다.

📌 Status Codes 받아오기

  1. reponse 변수를 생성하고 website를 get하여 저장한다.
  2. 출력하여 Status Codes를 확인해보면 200으로 나온다.

이후, results로 빈 Dictionary 하나 만들어주고 if문을 사용하여 200일 시 ok, 아닐지 failed를 입력해준다.
끝으로 results를 출력하면 우측처럼 URL에 200이면 ok 형식으로 출력된다.

📌 간단한 Status Code 챌린지

staus code를 100번대, 200번대, 300번대, 400번대, 500번대 오류에 맞춰서 분리한다.

  1. response을 get(website).status_code 형식으로 변경
    기존 get(website)에 .status_code를 합친 형태
  2. if문을 활용하여 범위별 오류 문자열 생성
  3. 범위에 포함되지 않을 시 FAILED로 설정
profile
선명한 삶을 살기 위하여

0개의 댓글