Programming/Python 웹 스크래퍼 만들기

Python None

2022. 11. 30. 21:00

5.13 None

 

None은 True, False, 숫자, 문자열 처럼 변수에 넣을 수 도 있고,

리스트나 딕셔너리 안에 넣어도 되는 데이터 타입이다.

 

None 을 쓸 때는, 무언가가 없을 때 이다.

False와 헷갈릴수 있는데, False 는 True 가 아니다는 것을 의미한다.

None은 무언가가 "없을 때"를 의미한다, 혹은 무언가가 있어야 하는데 아무것도 없을 때를 의미.

None은 무언가가 있어야 하는데 없다고 나타내주는 데이터 타입이다.

 

지난 게시물에서 아래 코드를 사용했을 때 li들을 출력했는데,

일부 li 들은 구인 정보가 있었지만,

어떤 li 는 mosic-zone 으로 구인 정보가 없는 li 가 있었다. 

from requests import get
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.add_experimental_option('excludeSwitches', ['enable-logging'])
browser = webdriver.Chrome(options=options)

base_url = 'https://kr.indeed.com/jobs?q='
search_term = 'python'

browser.get(f'{base_url}{search_term}')
soup = BeautifulSoup(browser.page_source,'html.parser')
job_list = soup.find('ul', class_='jobsearch-ResultsList')
jobs = job_list.find_all('li', recursive=False)
for job in jobs:
    print(job)
    print('//////////////////')
    

while(True):
    pass

출력값:

mosaic-zone li

 

None 을 활용해서 li 가 mosaic-zone을 가지고 있는지 확인해본다. 

from requests import get
from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.add_experimental_option('excludeSwitches', ['enable-logging'])
browser = webdriver.Chrome(options=options)

base_url = 'https://kr.indeed.com/jobs?q='
search_term = 'python'

browser.get(f'{base_url}{search_term}')
soup = BeautifulSoup(browser.page_source,'html.parser')
job_list = soup.find('ul', class_='jobsearch-ResultsList')
jobs = job_list.find_all('li', recursive=False)
for job in jobs:
    zone = job.find('div', class_='mosaic-zone')
    if zone == None:
        print('job li')
    else:
        print('mosaic li')
    

while(True):
    pass

출력값:

mosaic li

 

zone = job.find('div',class_='mosaic-zone')

→ class 이름이 mosaic-zone 인 div 를 찾아서 zone 이라는 변수에 저장한다.

 

if zone == None: → zone 이 없으면 ( class 이름이 mosaic-zone 인 div 가 없으면 )

print('job li') → job li 를 출력

else:           → 아니면 ( zone 이 있으면 → class 이름이 mosaic-zone 인 div 가 있으면 )

print('mosaic li') → mosaic li 출력

 

출력값을 보니 5개 구인 정보 마다 mosic li 가 배치되는거 같다.

그러므로 1페이지당 15개의 구인정보가 배치된다. ( 실제 페이지 구인정보 개수와 동일 . )

 

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

Python selenium 활용해서 webscrapper 기초 제작 4  (0) 2022.12.02
Python selenium 활용해서 webscrapper 기초 제작 3  (0) 2022.12.01
Python selenium 활용해서 webscrapper 기초 제작 2  (0) 2022.11.29
Python selenium 활용해서 webscrapper 기초 제작 1  (1) 2022.11.28
Python Refactor  (0) 2022.11.25
'Programming/Python 웹 스크래퍼 만들기' 카테고리의 다른 글
  • Python selenium 활용해서 webscrapper 기초 제작 4
  • Python selenium 활용해서 webscrapper 기초 제작 3
  • Python selenium 활용해서 webscrapper 기초 제작 2
  • Python selenium 활용해서 webscrapper 기초 제작 1
Security Engineer
Security Engineer
IT 공부
Security Engineer
IT-log
Security Engineer
전체
오늘
어제
  • 분류 전체보기 (177)
    • Programming (39)
      • Python 웹 스크래퍼 만들기 (39)
    • IT 지식 (70)
      • IT 정보 (28)
      • CS 기초 (24)
      • 운영체제 (8)
      • IT 인프라 기초 (10)
    • 보안 (45)
      • 악성코드 분석 (10)
      • Bandit 워게임 (25)
      • 취미로 해킹 2 (6)
      • 환경 구축 (4)
    • 웹 해킹 (23)
      • 웹 기초 지식 (8)
      • SQL 기본 (2)
      • 웹 해킹 및 시큐어 코딩 기초 (13)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

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

최근 댓글

최근 글

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

티스토리툴바

개인정보

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

단축키

내 블로그

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

블로그 게시글

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

모든 영역

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

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