본문 바로가기

언어/python&웹 크롤링

(13)
[python&웹 크롤링] 13. requests 모듈 기초(2) RestFul 방식으로 통신 테스트 진행 해보겠다. RestFul 방식이란 uri 주소만 봐도 어떠한 동작이 수행 될 것인지 알 수 있는것이다. GET, POST, PUT(FETCH), DELETE 가 있다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 import sys import io import requests, json sys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding = 'utf-8') sys.stderr = io.TextIOWrapper(sys.stderr.detach(), encod..
[python&웹 크롤링] 12. requests 모듈 기초(1) 이번 시간에는 아래 세가지를 다뤄보겠다. 1. requests 모듈 사용법 및 장점 - 이전까지는 urllib을 사용했는데 requests 모듈 사용 2. json 데이터 핸들링 3. requests 모듈 테스트 실습 아래는 reqeusts 모듈의 공식 레퍼런스 링크이다. docs.python-requests.org/en/master/user/advanced/ Advanced Usage — Requests 2.25.1 documentation This document covers some of Requests more advanced features. Session Objects The Session object allows you to persist certain parameters across req..
[python&웹 크롤링] 11. 네이버 금융 정보 가져오기 BeautifulSoup을 사용하여 네이버 금융( finance.naver.com/sise/ ) 인기종목 top10, 상한가종목 top10을 가져와보겠다. section2 환경에서 atom 실행시켜보자. 먼저, 인기종목 top10의 구조를 보자. 인기검색 종목의 html을 보면 간단하다. id값이 popularItemList 의 자식들이 li로 감싸져있는것을 확인할 수 있다. BeautifulSoup의 select 함수를 사용하여 리스트 값으로 가져 올 수 있는것이 느껴진다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 from bs4 import BeautifulSoup import urllib.request as req import sys import i..
[python&웹 크롤링] 10. BeautifulSoup 사용 및 웹 파싱 기초(2) 이전시간에 살펴봤던 BeautifulSoup을 활용한 웹 파싱 연습을 진행하겠다. 본인의 section2 폴더에 다음 html을 미리 저장시키자 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 안주 및 주류 닭도리탕 돈까스 삼겹살 스테이크 소주 맥주 막걸리 양주 동동주 Colored by Color Scripter cs food-list.html 1 2 3 4 5 6 7 8 Genesis Avante Sonata Grandeur Tucson cs cars.html 두 파일은 파싱에 사용 될 html 문서들이다. 두 파일을 저장했으면, 다음 파일을 생성하여 코드를 입력하고, 실행 결과를 확인해보자. 정규표현식, 태그 선택자, css 선택자 등 활용하여 여러 ..
[python&웹 크롤링] 9. BeautifulSoup 사용 및 웹 파싱 기초(1) - 파이썬 모듈인 BeautifulSoup 파서사용법을 알아보자 - urljoin, find_all, select_one, next_sibiling, previous_sibiling 을 사용하여 파싱을 진행하겠다. 아나콘다 프롬프트 실행 후 section2를 활성화 시키자 pip install beautifulsoup4 명령어를 입력 후 패키지를 다운받는다. conda list 명령어를 통해 설치가 완료됨을 확인 후 atom 명령어 실행 후 atom을 실행시킨다. 파일을 생성 후 다음 코드를 입력해보자 1 2 3 4 5 6 7 8 from urllib.parse import urljoin baseUrl = "http://test.com/html/a.html" #주소를 객체에 저장한다 print(">>",..
[python&웹 크롤링] 8. youtube 동영상 다운로드 및 mp3 변환 이번시간에는 youtube를 통해서 자신이 원하는 동영상을 저장하고, mp4 파일을 mp3로 변환해보겠다. 먼저 동영상 -> mp3로 변환하기 위해서는 변환용 코덱이 필요하다. www.filehorse.com/download-ffmpeg-64/download/ 다운로드 받아서 설치 & 압축풀기 하자. 다음으로, 유튜브 가져오는 기능을 사용하기 위해서는 pytube라는 패키지를 설치해야된다. anaconda prompt를 키고, section2 폴더 활성화 시킨 뒤 pip install pytube 명령어 입력 설치 완료 후 conda list 명령어 입력 후 설치가 잘 되었는지 확인후에 atom 명령어 실행하여 atom 을 실행시킨다. 유튜브 파일을 다운로드 해야하므로 다운로드 받을 폴더를 생성하자 ->..
[python&웹 크롤링] 7. urllib을 활용한 필요 데이터 추출하기(2) 이전시간에 urlretrive, urlopen 메서드를 통해서 링크를 통해 데이터를 로컬에 저장할 수 있었다. 이번시간은 1. urlopen 파라미터 전달방법 2. type(자료형) 3. decode, geturl, status, getheaders, info, urlparse 메서드에 대해 알아보겠다. 먼저, 이전에 생성했던 폴더에 파이썬 파일을 생성하자 (download2-3-1.py) 다음 코드를 입력해보고 실행시켜서 결과를 확인해보자. 아래는 코드 출력결과에 따른 설명이다. 11 : request의 urlopen 메서드를 통해 url을 mem 변수에 저장함 13 : 라는 결과가 나오는데 urlopen 한 결과가 어떠한 메모리 공간에 저장되었음을 뜻한다. 14 : mem 변수의 타입은 http.cl..
[python&웹 크롤링] 6. urllib을 활용한 필요 데이터 추출하기(1) 먼저, 들어가기에 앞서 웹에대한 기본적인 지식이 있어야한다. 대표적으로 DOM 구조 분석과 HTML 코드를 대략적으로 볼 수 있어야하며, 선택자에 대한 개념이 있어야한다. 위의 화면은 크롬에서 네이버를 실행하여 f12(개발자도구)를 누르고 elements 에서 네이버 헤더에 포함되어 있는 일부를 Copy selector를 통해 복사한 것이다. 복사 결과는 아래와 같다. #NM_FAVORITE > div.group_nav > ul.list_nav.type_fix NM_FAVORITE 라는 아이디 내부에 group_nav 클래스가 붙은 div 안에 list_nav, type_fix 라는 클래스가 붙은 ul태그를 나타낸다. 선택자가 중요한 이유는 추후 어떠한 html파일을 다운받은 후 선택자를 통해 원하는(탐..

Today :
Yesterday :
Total :