webScrapper

Programming/Python 웹 스크래퍼 만들기

Python webscrapper 완성

5.19 Write to File 이번에는 Python 에서 파일을 열고 파일에 내용을 쓰는 것을 해본다. 기존에 사용했던 indeed 와 wwr 스크랩하는 코드는 잠시 주석처리하고 시작. open 이라는 빌트인 함수(print, input 과 비슷하다) 를 사용한다. csv 는 comma-separated-value 라는 파일 포맷이다. w 는 write 의 약자로 쓰기전용이다. 읽기 전용( read-only ) 도 있다. from extractors.indeed import extract_indeed_jobs from extractors.wwr import extract_wwr_jobs keyword = input('What do you want to search for?') file = open(f..

Programming/Python 웹 스크래퍼 만들기

Python webscrapper 파일 2개 합치기

5.18 Recap 이전 게시물에서 extractors 폴더안에 wwr.py 와 indeed.py 파일을 만들어서 각 웹사이트에 맞는 웹스크래퍼 코드를 작성해서 저장했다. 이번 게시물은 사용자에게 입력받는걸 해본다. 사용자는 keyword 를 입력하고, 검색한 결과를 내가 만든 2개의 함수를 모두 호출해서 사용자에게 반환한다. 먼저 indeed로 부터 extractors 를 가져온다. 아래의 코드는 indeed 와 weworkremotely 웹사이트에서 구인공고를 스크래핑하는 코드를 불러오는 작업이다. 두 함수는 리스트에 저장되기 때문에 아래처럼 사용이 가능하다. from extractors.indeed import extract_indeed_jobs from extractors.wwr import ex..

Programming/Python 웹 스크래퍼 만들기

Python selenium 활용해서 webscrapper 기초 제작 6

5.17 Refactor indeed.com 에서 python 을 검색했을때 url 을 보면, 페이지를 바꿀 때마다 start 숫자가 바뀌는것을 알 수 있다. 2 페이지에는 start 가 10, 3 페이지에는 start 가 20 으로 바뀐다. 따라서 이 페이지의 pagination 은 여기 url 의 &start 부분이다. 기존의 아래 코드를 → def extract_indeedn_jobs(keword): pages = get_page_count('python') for page in range(pages): base_url = 'https://kr.indeed.com/jobs?q=' browser.get(f'{base_url}{keyword}') 아래 처럼 바꿔준다. pages = get_page_co..

Programming/Python 웹 스크래퍼 만들기

Python selenium 활용해서 webscrapper 기초 제작 5

5.16 Pages part Two 이전 게시물에서 검색 첫 페이지에 div ( 페이지 개수를 세주는 div ) 가 없을 때 검색 결과에 구인정보가 있는지 없는지 출력해주는 코드를 작성했었다. 보통 구인 정보가 있는 경우에는 스크래핑 할 페이지가 1개 만 있다는것을 의미한다. 만약 페이지를 받게 된다면, 몇 개가 있는지 세어봐야 한다. 만약 5개 페이지 밖에 없으면 5개의 div 를 받게 된다. 만약 5개 보다 더 많은 경우에도 5개까지만 나타내는 코드를 작성한다. ( 웹사이트 부하 방지 ) 만약 5개보다 적게 있다면, count 를 그대로 return 해준다. from requests import get from bs4 import BeautifulSo..

Programming/Python 웹 스크래퍼 만들기

Python selenium 활용해서 webscrapper 기초 제작 4

5.15 Pages (Pages 개수 count 하는 함수 만들기) 첫 페이지 pagination(페이지 번호)에서 몇 개의 페이지가 있는지 알아내는 코드를 작성해본다. 페이지 번호가 총 5개, 다음을 넘기는 화살표가 1개 있는 코드를 확인할 수 있다. nav role 이 navigation인 코드에서 div 가 3개만 있다면, 총 3페이지만 있다는 의미가 되며, div 가 6개가 있다면, 총 5페이지에 1개의 화살표(다음페이지로 넘어가는) 가 있다는 뜻이 된다. 그럼 얼마만큼의 페이지를 스크래핑해야 하는지 알 수 있다. 프로그램 작동 방식이 바뀌어야 한다. 왜냐하면 이제 프로그램이 해야 하는 일은 2가지이기 때문이다. ( 총 얼마만큼의 페이지가 있는지 개수 세기, 각 페이지 안의 구인정보 가져오기 ) ..

Programming/Python 웹 스크래퍼 만들기

Python selenium 활용해서 webscrapper 기초 제작 3

5.14 Select 이전에 작성했던 코드 실행하면, indeed 로 접속해서 python 검색한 크롬창이 띄어진다. 마우스 우클릭 - inspect(검사) 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/j..

Security Engineer
'webScrapper' 태그의 글 목록