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
출력값:
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
출력값:
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 |