[파이썬으로 웹 스크래퍼 만들기] 3. request 하고 extract하기
·
Side Project
지난 포스팅에 이어서 받아온 정보들을 이용해서 각 페이지를 request 해보자. 1페이지 말고 다른 페이지를 눌러보면 주소창에 &start= 해서 숫자가 입력된걸 볼 수 있다. 1페이지당 50개의 결과를 보여주고 그 페이지는 50 * page number -1 부터 시작한다. 예를들면 1페이지는 0이니까 없어도 되고, 2페이지는 start = 50, 3페이지는 start = 100 이런식이다. indeed에서 추출하는 역할을 하는 파일을 따로 생성하고 main.py 에서는 그 결과를 이용할 수 있게 바꿔보자. indeed.py라는 새로운 파일을 생성하고 아래와 같이 함수형태로 바꿔준다. indeed.py import requests from bs4 import BeautifulSoup INDEED_UR..
[파이썬으로 웹 스크래퍼 만들기] 2. html 가져오기
·
Side Project
우선 indeed의 파이썬 채용 공고를 스크래핑 할 것이다. https://github.com/psf/requests psf/requests A simple, yet elegant HTTP library. Contribute to psf/requests development by creating an account on GitHub. github.com 우선은 repl it 으로 진행할거라서 다른 방식으로 import 해야한다. 좌측의 박스모양인 packages를 누르고 requests *를 검색하고 *+ 버튼을 누르자. 주소창을 잘 보면 아래와 같이 되어있는데, api 호출하면서 많이 봤던것들이다. *_python의 검색 결과 중 50개씩 보여주기 *_라는 뜻으로 보인다. (맞춤검색에서 N개씩 보기를 ..
[Python 기초] 04. 함수(function), 내장 함수(built in function)
·
Python/Python
함수 또는 메소드라고 불리우는 것들 이미 우리는 초등학교때부터 함수라는 것을 배웠다. 내가 프로그래밍을 하면서 함수에대해서 가장 이해가 빠르게 됐었던 그림이다. 함수는 정말 매력적이다. 흔히들 function이 무슨 뜻이냐 했을때 함수면 이과 기능이면 문과 중, 고등학교때 함수면 함수고 기능이면 기능이지 왜 다른 뜻을 가졌냐라며 투덜댔었는데, 이제는 왜 이런 뜻들을 가지게 됐는지 확실히 알게 됐다. 프로그래밍에서 함수도 마찬가지다 어떤 매개변수가 들어가면 그 매개변수들로 특정 기능을 수행해서 그 결과를 반환하는 일을 하는 것 def add(x,y):return x+y print(add(2,5)) def sub(x,y=3): return x-y # 매개변수의 초기값을 설정할 수 있다. print(sub(2..
[Python 기초] 03. 튜플, 딕셔너리, 집합
·
Python/Python
튜플(tuple) 리스트와 큰 차이는 없어보이지만 차이가 있다. 우선 공통점을 알아보자. 공통점 일련의 요소(element)를 가질 수 있다. 요소의 순서를 관리한다. 차이점 리스트 : mutable, 가변적이다. .append() 등의 함수 사용 가능 튜플 : immutable, 불변적이다. .append() 등의 함수 사용 불가능 쉽게말해 상수(const)의 개념으로 사용하면 될 것 같다. 자세한 내용은 점프 투 파이썬! https://wikidocs.net/15 위키독스 온라인 책을 제작 공유하는 플랫폼 서비스 wikidocs.net 집합(set) 리스트나 튜플처럼 순차적으로 요소를 저장하지 않고 유일성을 가지는 Key 값만을 가지는 자료형이다 자료구조 자체는 c++의 `unordered_set` ..
[Programmers - 2017 팁스타운] 예상 대진표 (cpp / python)
·
Algorithm/Programmers
예상 대진표 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 N 은 2의 지수승으로 주어지기 때문에 2진수와 관련이 있지 않을까 생각했다. 8팀이 주어졌을때 2번과 7번이 만나기 위해서는 총 3번의 경기를 진행해야한다. 1 2 3 4 5 6 7 8 (8팀) 2 x y 7 (4팀) 2 7 (2팀) 문제 풀이 소스코드 : C++ 2로 나눌때마다 answer++을 해주고, ( 로직을 2진수로 접근해서 시프트 연산자를 썼다.), a와 b가 같아질 때까지 반복한다. 1 2 3 4 5 6 7 8 (8팀) - 2로 나누고 answer +1 1 x y 4 (4..
[Programmers - S/W coding 2018] 영어 끝말잇기 (cpp / python)
·
Algorithm/Programmers
영어 끝말잇기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 N 명의 사람이 주어진 단어들을 하나씩 말하면서 끝말잇기가 맞는지, 같은 단어를 사용했는지 확인하는 문제다. 문제 풀이 소스코드 : C++ 중복되는 단어가 불러졌는지 확인하기 위한 unordered_set 선언 영어 단어를 몇 개를 말했는지 세는 cnt 선언 words.size() 를 N개씩 잘라가며 idx를 갱신해주기위한 idx = i%n 이전 단어의 끝부분과 현재 단어의 앞부분을 비교해서 다르다면 종료 시점의 사람 idx와 말한 갯수를 answer에 푸시하고 반환 set안에 존재하..
[Programmers - S/W coding 2018] 점프와 순간이동 (cpp / python)
·
Algorithm/Programmers
점프와 순간이동 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 점프 : 1칸 이동 -> 1번당 베터리 1 소모 순간이동 : 현재까지 온 거리 $\times$ 2 위치로 이동 -> 1번당 베터리 소모 X 즉, 순간이동을 최대한 많이 해서 도착지점까지 도달하는 방법을 구하는 문제 Key Point 는 순간이동은 현재위치 $\times$ 2 까지 움직일 수 있다는 것이다. $$ \require{enclose} \begin{array}{r} 0\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,(J)\\ 1 \,\,\dots \..
[Python 기초] 02. 리스트
·
Python/Python
파이썬은 3가지 종류의 열거형 타입이 있다. list(리스트) tuple(튜플) Dictionary(딕셔너리) 리스트는 배열이라고 생각하면된다. 파이썬의 강력함은 in 키워드의 존재... c++에선 절대 불가능하다, c++에서는 배열에있는 요소를 찾기위해서는 (물론, 의 find함수가 있지만 복잡하다) 탐색 알고리즘을 이용하여야만 찾을 수 있다. 있으면 True, 없으면 false를 반환해준다. 각 요소에 인덱스로도 접근 가능하다. days[0], days[1], .... 오브젝트의 길이를 구하고 싶을때에는 len(object name)을 이용하면 된다. days = ["Mon","Tue","Wed","Thu","Fri","Sat","Sun"] date = [1,2,3,4,5,6,7] tmp = days..
WONILLISM
'파이썬' 태그의 글 목록 (6 Page)