본문 바로가기

전체 글502

파이썬으로 웹스크래퍼 만들기 - 4 1. 회사 이름 추출하기 - 앞선 포스팅에서 설명했던 동일한 방식으로 HTML의 구조를 분석하여 이번에는 회사의 이름을 추출해 보자. - HTML을 분석해보면 이전에 이미 알고있는 div태그에 company라는 span에 String으로 회사 이름이 들어가 있는 것을 볼 수 있다. 하지만 가끔 몇몇 회사들은 a태그로 회사이름에 링크를 걸어놓는 경우가 있다. 우리는 이 두가지 경우 모두를 생각하여 코드를 만들어 보자. (if문을 사용한다.) - 결과는 아래와 같이 잘 출력된다. - 이 결과의 문제점은 결과간의 공백이 존재한다는 것이다. 이 공백을 없애주기 위해 우리는 strip() 함수를 사용할 수 있다. - 결과는 아래와 같이 공백없이 깔끔하게 나오는 것을 확인할 수 있다. 2. 코드정리 - 지금까지 만.. 2020. 8. 4.
파이썬으로 웹스크래퍼 만들기 - 3 1. pages에서 String만 추출하기 (1) 지난 시간에 우리는 배열에 span부분을 저장했습니다. 그렇다면 span에 있는 String만 찾아서 저장해봅시다. (2) 하지만 우리가 진행했던 위의 코드는 효율성이 좋지 않은 코드입니다. a태그인 anchor를 찾고 그 안의 span을 찾고 span에 있는 string을 추출해 내는 방식이기 때문입니다. HTML의 구조를 잘 안다면 이런 과정을 생략하고 한번에 string을 찾을 수 있다는 것을 알게됩니다. anchor에서 String을 바로 찾아내는 방법이죠. (3) 어떻게 이렇게 쉽게 찾을 수 있을까요? 크롬의 개발자 도구를 이용하여 HTML의 구조를 파악해 봅시다. (4) 위의 사진에서 알 수 있듯이 a태그 아래에 존재하는 String은 페이지 .. 2020. 8. 3.
파이썬으로 웹스크래퍼 만들기 - 2 1. 사이트 주소(url) 알아내기 - indeed 사이트의 정보를 추출하는 웹 스크래퍼를 만들어 볼겁니다. 자신이 원하는 검색어로 검색을 한 뒤에 맞춤검색을 통해 페이지에 표시할 검색결과의 개수를 50개로 설정해 주세요. 이후 나온 검색결과의 url 주소를 복사해두시면 됩니다. 저는 서울특별시의 직장 중 java를 필요로하는 신입공채를 검색하였습니다. 2. Requests 라이브러리 설치하기 - 웹 스크래퍼를 만들기 위해서는 먼저 URL에 대한 요청을 처리할 수 있는 기능을 가진 라이브러리를 필요로 합니다. 그렇기에 Requests라는 라이브러리를 설치합니다. (1) 왼쪽 메뉴바에서 패키지를 선택하고 request를 검색한 뒤에 첫번째 검색결과를 선택합니다. (2) 첫번째 검색결과를 선택 후 오른편에 .. 2020. 8. 3.
파이썬으로 웹스크래퍼 만들기 - 1 1. Web Scrapper의 개념 - 웹 스크래퍼는 인터넷 웹사이트에서 데이터를 추출하는 기술이다. 웹스크래퍼가 무엇인지 공부를 하면서 그동안 내가 사용하던 다양한 기술들이 웹 스크래핑에 기반하였다는 것을 이제서야 알게 되었다. 예를 들어, 어떤 기사의 링크를 복사하여 SNS에 또는 메신저에 올리면 링크와 함께 자동으로 그 기사의 preview가 보여진다. 웹 스크래핑 기술을 이용해 해당 기사의 링크에 있는 대표 사진 등의 정보를 가져와 보여주는 것이다. 이것이 web scrapper이다. - 웹 스크래핑 기술을 사용해 우리는 다양한 것들을 만들 수 있다. 특정 물건의 가격을 몇몇 웹사이트에서 수집하여 이를 데이터하는 등 요즘 우리가 말하는 빅데이터의 기본이 되는 데이터를 수집하는 기본적인 방법중의 하.. 2020. 7. 31.
개발 공부 시작 미리미리 작성했어야 하는데 이제야 작성합니다. 7월 25일, 정보처리기사 실기 시험을 치르고 가답안을 이용한 채점한 결과, 합격하였습니다. 몇일 쉬고 다시 시작하려 했는데 매일 정보처리기사를 공부하던 습관 때문인지 답답하네요. 그래서 공부계획을 세우고, 파이썬 기초관련 글을 시작으로 포스팅하고 있습니다. 이제는 본격적으로 개발공부를 해보려 합니다. 먼저, 알고리즘 테스트 준비를 위해 파이썬을 준비할 생각인데요. 그렇다면 파이썬을 배워야겠죠? 그래서 노마드코더 채널을 운영하고 있는 니콜라스의 파이썬을 이용한 웹 스크래퍼 만들기 강좌로 시작하려고 합니다. 앞으로 공부할게 너무 많습니다! 하지만 후딱후딱 해내가며 스스로가 개발자로서 깊게 정석대로 잘 배우고 익혔으면 좋겠습니다. 내일이면 벌써 8월이네요. 20.. 2020. 7. 31.
파이썬 기초문법 - 5 1. Module and Import - 파이썬에는 Java의 클래스처럼 다양한 기능들을 모아둔 Module이 존재한다. 이를 가져오는 작업을 Import라고 한다. - 기본 구조는 아래와 같다 import 모듈명 → 사용할 모듈을 import 하는 방법이다. 모듈명.함수명() → import된 모듈에 존재하는 함수를 호출하는 방법이다. - 예제로 Math 모듈에 존재하는 ceil()이라는 올림을 해주는 함수를 사용해 볼것이다. 이 예제를 통해 module을 import하여 사용하는 방법을 배워보자. - 하지만 위의 예시처럼 math모듈을 import한다면 필요하거나 사용하지 않는 기능이 함께 import된다. 자주 사용하는 모듈 한두개 정도는 괜찮을지 몰라도 이런식의 import가 반복된다면 프로그램 .. 2020. 7. 31.
파이썬 기초문법 - 4 1. For Loop - for문은 반복문의 한 종류이다. 어떤 작업을 조건만큼 반복해서 수행해야 할 경우 사용한다. - 기본적인 구조는 아래와 같다. for 변수명 in 배열명: → 여기서 변수명은 for문이 수행되면서 생성되는 변수이다.(변수명은 마음대로 지정) 수행문 - 자세한 이해를 위해 월요일~금요일을 담고있는 days라는 Tuple의 각 요소를 For문을 사용해 출력하는 예제를 살펴보자. - 위의 예제처럼 배열이 먼저 선언되어 있어야만 작동하는 것은 아니다. (아래의 사진을 참고해 주세요) - 앞서 배운 if문을 함께 for문을 사용하여 특정 조건에 반복문을 탈출하도록 만들 수 있다. - 월요일~금요일을 담고있는 days라는 Tuple의 각 요소를 For문을 사용해 출력하는데 days의 값이 .. 2020. 7. 31.
파이썬 기초문법 - 3 1. if ~ else - if~else 문은 거의 모든 개발 언어가 갖고 있는 조건문이다. 조건에 따라 어떤 선택을 할지 정해야 하는 알고리즘을 만들때 사용된다. 기본적인 구조는 아래와 같다. if 조건문A: → 조건A의 값이 참(True)인 경우, 수행문 A를 실행하게 된다. 수행문A else: → 조건A에 해당하지 않는 경우, 수행문 B를 실행하게 된다. 수행문B - 조건에 따른 선택이 다양한 경우, if문을 여러번 써야할 경우가 발생한다. 그럴때는 if ~ elif ~ else ~ 를 사용한다. 여기서 elif는 else if를 지칭하는 명령어다. 기본적인 구조는 아래와 같다. if 조건A: 수행문A elif 조건B: 수행문B elif 조건C: 수행문C else: → 위의 조건A,B,C에 해당하지.. 2020. 7. 30.
파이썬 기초문법 - 2 1. How to make a Function (A) 함수 정의하기 def 함수명(): (들여쓰기)실행문 *tab키를 이용하여 들여쓰기를 꼭 해야한다. (B) 함수 호출하기 함수명() *만약 함수명 뒤에 괄호()가 없으면 호출되지 않습니다. 2. Argument/Parameter(매개변수) 이용하기 (A) Argument를 이용한 함수 선언하기 def hello_to(Argument): print("Hello", Argument) ex) def hello_to(name): print("Hello", name) (B) 함수 호출하기 hello_to("Raphael") hello_to("Michael") *Argument 없이 함수를 호출할 경우 오류 발생 (C) default value를 가진 함수 만들기.. 2020. 7. 29.
파이썬 기초문법 - 1 1. Data Type of Python (A) 기본 데이터 타입 - 정수형(Number) → a_number = 1 - 문자열(String) → a_string= "안녕하세요." 또는 b = '안녕하세요' - 논리형(Boolean) → a_boolean= True 또는 c = False - 실수형(Float) → a_float = 3.14 - none형(None type) → a_none = None (Null과 비슷한 개념이다. 존재하지 않음을 의미) - 변수의 데이터 타입을 알아내는 메소드: type() ex) print(type(변수이름)) (B) Mutable Sequence(값을 바꿀 수 있는 시퀀스) - List - 여러개의 value를 열거할 수 있는 데이터 타입 (value의 데이터 타입.. 2020. 7. 29.