Programming/Python 웹 스크래퍼 만들기

Python For Loops

2022. 11. 11. 21:00

4.5 For Loops

​

website 들을 리스트로 생성해 본다.

리스트에 있는 웹사이트가 동작중인지 내려갔는지 확인해 볼 것이다.

websites = ( 'google.com', 'airbnb.com', 'facebook.com', 'naver.com' ) 

websites[0]

인덱스를 사용해서 각각 확인해보는 방법도 있지만,

시간이 오래 걸리고 효율이 떨어진다.

리스트가 얼마나 긴지 신경 안쓰면서

리스트의 각 아이템을 활용해서 자동으로 코드를 실행할 방법을 사용해야 한다.

​

이걸 위해 for 반복문을 사용할 것 이다.

websites 튜플 안에 있는 각각의 아이템을 사용해서 코드를 실행하려 한다.

websites = ( 'google.com', 'airbnb.com', 'facebook.com', 'naver.com', ) 

for each in websites: 
	print('hello')

출력값:

hello

hello

hello

hello

​

튜플 아이템 갯수에 따라 hello 가 출력 되었다.

튜플 안에 있는 각각의 아이템으로 코드가 실행되었다.

​

for는 각각의 item 이 실행 될 때 placeholder 를 만드는 것을 허락해준다. - 실행중인 item 에 접근하는 변수

for (placeholer) in websites:

placeholder 의 이름은 user 가 원하는 대로 정할 수 있다.

potato 라고 정할 수 있다.

각 사이클에서 potato 가 무엇인지 확인해 볼 수 있다.

websites = [ 'google.com', 'airbnb.com', 'facebook.com', 'naver.com', 'daum.net' ] 

for potato in websites: 
	print('potato is equals to',potato)

출력값:

potato is equals to google.com

potato is equals to airbnb.com

potato is equals to facebook.com

potato is equals to naver.com

potato is equals to

​

파이썬에서 list(또는 tuple)인 websites 리스트의 모든 item 에 대해 위 코드를 실행했다.

이때 현재 어떤 item이 처리되고 있는지를 알아야 하기 때문에

파이썬은 potato로 user가 그 item에 접근할 수 있게 해준다.

​

일종의 관습으로 tuple 이나 list 를 생성할 때 복수형을 사용한다.

ex) websites, items, movies, users

ex) for website in websites, movie in movies 처럼 사용한다.

potato 처럼 user 가 단어를 지정하면 된다. 꼭 위처럼 사용하지 않아도 된다.

현재 실행중인 item 에 접근하는 변수 이름은 user 마음대로 정할수 있다.

websites = ( 'google.com', 'airbnb.com', 'facebook.com', 'naver.com' ) 

for website in websites: 
	print('Running good',website)

출력값:

Running good google.com

Running good airbnb.com

Running good facebook.com

Running good naver.com

 

​

4.6 URL Formatting

​

URL Formatiing 을 해서 실제 웹사이트 주소로 이동을 시도해본다.

코드는 http 또는 https 에 :// 를 붙인 웹사이트로 주소로만 이동이 가능하다.

​

website 라는 이 변수는 차례대로 각 사이클에서 list 안의 item으로 바뀐다.

첫번째 website 변수는 구글이 될것이다.

​

​

if 를 사용해서 시작문자가 https:// 로 시작하면 (True 일 경우) good to go 를 출력하고

else 를 사용해서 https:// 로 시작하지 않으면 we have to fix it 을 출력하는 코드를 작성했다.

if 문은 오직 무언가가 True 인지 False 인지만 판단한다.

startswith 메서드는 ( ) 안의 내용이 True 인지 False 인지 판단해서 알려준다.

websites = ( 'google.com', 'https://airbnb.com', 'facebook.com', 'https://naver.com' ) 

for website in websites: 
	if website.startswith('https://'): 
    	print("good to go") 
    else: 
    	print("we have to fix it")

출력값:

we have to fix it

good to go

we have to fix it

good to go

​

​

https:// 로 시작하지 않는 코드에 집중해본다.

https:// 로 시작하지 않으면 have to fix 를 출력하는 코드를 not 을 사용하여 작성한다.

not 은 무언가가 True 가 아닌 경우를 확인한다.

( if website.startswith('https://') == False 와 같다 )

websites = ( 'google.com', 'https://airbnb.com', 'facebook.com', 'https://naver.com' ) 

for website in websites: 
	if not website.startswith('https://'): 
		print('have to fix')

출력값:

have to fix

have to fix

​

​

# f" " 를 사용해서 변수를 통째로 string(문자열)으로 만들기

f" " 에 {변수} 와 쓰고싶은 문장들을 입력한다

​

f" " 를 사용해서 https:// 가 없는 웹사이트에 자동으로 https:// 를 추가하여

출력해주는 코드를 작성해본다.

if not website.startswith('https://'): → website 변수 시작문자가 https:// 가 아니면

website = f"https://{website}" → https://website 변수, 중괄호 안의 website 를 넣어서 https:// 를 붙인다.

print(website) → https:// 가 붙여진 website 를 출력

websites = ( 'google.com', 'https://airbnb.com', 'facebook.com', 'https://naver.com' ) 

for website in websites: 
	if not website.startswith('https://'): 
		website = f"https://{website}" 
	print(website)

출력값:

https://google.com

https://airbnb.com

https://facebook.com

https://naver.com

​

'Programming > Python 웹 스크래퍼 만들기' 카테고리의 다른 글

Python Requests, Get 복습  (2) 2022.11.15
Python Requests  (0) 2022.11.14
Python List, Tuple, Dict 복습  (0) 2022.11.10
Python Tuple, Dictionary  (0) 2022.11.09
Python List  (0) 2022.11.08
'Programming/Python 웹 스크래퍼 만들기' 카테고리의 다른 글
  • Python Requests, Get 복습
  • Python Requests
  • Python List, Tuple, Dict 복습
  • Python Tuple, Dictionary
Security Engineer
Security Engineer
IT 공부
Security Engineer
IT-log
Security Engineer
전체
오늘
어제
  • 분류 전체보기 (178)
    • Programming (39)
      • Python 웹 스크래퍼 만들기 (39)
    • IT 지식 (70)
      • IT 정보 (28)
      • CS 기초 (24)
      • 운영체제 (8)
      • IT 인프라 기초 (10)
    • 보안 (46)
      • 악성코드 분석 (10)
      • Bandit 워게임 (25)
      • 취미로 해킹 2 (6)
      • 환경 구축 (4)
      • PoC 분석 (1)
    • 웹 해킹 (23)
      • 웹 기초 지식 (8)
      • SQL 기본 (2)
      • 웹 해킹 및 시큐어 코딩 기초 (13)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • bandit
  • 워게임
  • 모의해킹
  • HTML
  • CS
  • 파이썬
  • Web
  • 취미로해킹
  • flask
  • 컴퓨터
  • overthewire
  • 시큐어 코딩
  • Def
  • 리눅스
  • 웹 개발
  • webScrapper
  • CS 기초
  • 악성코드
  • Python
  • WarGame
  • Beautifulsoup
  • CSS
  • IT 인프라
  • Selenium
  • 해킹
  • 취미로 해킹
  • 웹 해킹
  • 악성코드 분석
  • 운영체제
  • it 운영

최근 댓글

최근 글

hELLO · Designed By 정상우.
Security Engineer
Python For Loops
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.