본문 바로가기

반응형

Coding Study/Python

(13)
G마켓 - 베스트 카테고리 & 상품상세 공급사 정보 크롤링하기 오늘은 2일 전에 포스팅했던 G마켓 베스트 100 > 패션의류 카테고리 페이지의 상품명과 가격을 크롤링하고 해당 상품의 상품 상세 페이지의 공급사 정보까지 추가적으로 크롤링하는 소스를 작성해 보도록 하겠습니다. 아직 파이썬 초보 개발자로서 제가 공부하고 코딩해 본 소스에 대해 기록을 남기는 차원입니다. import requests from bs4 import BeautifulSoup res = requests.get('http://corners.gmarket.co.kr/Bestsellers?viewType=G&groupCode=G01') soup = BeautifulSoup(res.content, 'html.parser') data = soup.select('div.best-list') dataitems..
( Python ) 지마켓 베스트 카테고리 - 상품명, 가격 중복 크롤링하기 오늘은 지마켓의 베스트 100 > 베스트 > 패션의류 카테고리의 상품명, 가격, 할인율 100개를 크롤링하는 예제 소스를 작성해 보도록 하겠습니다. 해당 페이지의 크롤링에서는 한번 크롤링한 데이터를 리스트에 담아 다시 크롤링하는 방법을 사용해야 합니다. 위의 소스보기 화면을 보면 div 태그의 class 속성 중에 best-list 가 2개가 존재하는 것을 알 수 있다. 이로 인해 상품명을 크롬 개발자 도구에서 CSS Selector를 이용하여 상품명을 크롤링을 할 수가 없습니다. 아래 code에서 best-list class를 모두 가져와서 그중 두 번째 class를 새로운 변수에 저장하고 bestitem 변수에 상품명이 있는 태그를 다시 저장합니다. import requests from bs4 imp..
네이버 쇼핑 특정 카테고리 인기상품 Top 100 크롤링해서 엑셀파일에 저장하기 늦깎이 코딩 공부이지만 뭐든지 새로운 것을 알아간다는 것이 행복하다는 것을 최근 다시 깨닫고 있습니다. 파이썬을 이용해서 실무에서 데이터 분석도 할 줄 아는 PM이 되기 위해 노력 중입니다. 오늘은 네이버 쇼핑의 특정 카테고리의 인기 상품 Top 100의 상품명과 가격을 크롤링하여 엑셀에 저장하는 코드를 작성해 보았습니다. 물론 잔재미코딩님의 강의용 코드 소스를 기본으로 해서 네이버 쇼핑 사이트를 기준으로 연습을 해 본 것인데, 몇 번의 오류와 오타 수정을 통해 제가 원하는 데이터를 추출해서 엑셀에 저장할 수 있다는 것만으로도, 한 단계 발전한 느낌입니다. import openpyxl import requests from bs4 import BeautifulSoup def write_excel_templ..
Python - 네이버 Open API 를 이용해서 특정 키워드 뉴스 10개 가져오기 PMP를 공부하면서 원하는 자격증을 취득했다는 성취감도 좋았지만, 한 가지 더 좋았던 점은 공부하는 습관이 생겼다는 것입니다. PMP를 공부하면서 들었던 생각은 합격, 불합격 유무를 떠나 마음 편히 내가 하고 싶은 공부를 할 수 있는 것도 소소한 행복이구나 생각이 들었습니다. PMP 시험이후에 다시 코딩 공부를 시작하고 있습니다. Python을 공부해서 꼭 데이터 분석 기술은 습득할 것이다라는 목표와 Python을 실무에 꼭 사용할 수 있도록 할 것이다!!라는 것이 목표입니다. 오늘은 잔재미코딩님의 블로그에 접속해서 네이버 Open API 중 뉴스 API를 활용하여 특정 키워드에 대한 뉴스 기사를 10개까지 추출해 보는 연습문제였습니다. * 연습문제 네이버 오픈 API 사이트에서 특정 키워드로 검색 결과..
파이썬 기초를 위해 어떤 강의를 들어야 할까? 오랜만에 파이썬 강의 관련된 내용으로 포스팅을 합니다. 한동안 SQL Query를 공부하느라 파이썬 공부를 좀 등한시하고 있었습니다. 사실 제가 개발자도 아니고 굳이 개발코드를 상세하게 배워야 실무에서 코딩을 하면서 일을 할 일은 없지만 그래도 파이썬의 경우에는 스크랩핑도 그렇고 업무 자동화 등 활용할 수 있는 분야가 많기에 앞으로도 시간을 가지면서 계속 공부를 할 예정입니다 오늘은 일전에도 포스팅 했지만 온라인 패스트캠퍼스보다 훨씬 저렴하고 고 퀄리티 강의를 수강할 수 있는 인프런의 잔재미코딩님의 강좌를 소개해 드리려고 합니다. 절대 인프런에서 어떠한 대가를 받고 작성하는 글도 아니며, 제 스스로 비용을 결제하고 공부하면서 잔재미코딩님의 강좌가 정말 유익하다고 느꼈기에 포스팅하는 내용입니다. https..
Python - Mysql 접속하기 / Query 구문 실행하기 오늘은 파이썬으로 Mysql 접속 및 Query 문을 실행하여 커밋하는 소스를 정리하여 포스팅합니다. 파이썬에서 mysql 을 사용하려면 pymysql 라이브러리를 먼저 pip 로 설치해주어야 해당 라이브러리를 사용할 수 있습니다. 맥은 터미널 접속 후 / 윈도우는 실행창에서 cmd 입력 후 " pip install pymysql " 입력하여 pymysql 라이브러리 설치 후 아래 코드 작성 # mysql 라이브러리 호출하기 import pymysql # database 접속하기 # passwd 는 각자 mysql 데이터베이스의 접속 비밀번호 입력 # db 는 생성한 데이터베이스 스키마명 입력 db = pymysql.connect(host='localhost', port=3306, user='root',..
파이썬 문자열 함수 정리 # 문자열 관련 함수 data = "Dave David" data.count("D") # 값 : 2 string = 'Dave ID is dave' string.index('D') # 특정 문자의 index 위치값을 반환 # 값 : 0 string = "Dave Id is dave" string.find('x') # find 함수는 해당 문자가 문자열에 없으면 -1 을 리턴함 # 값 : -1 string = "Dave ID is Book" string.find('x') if string.find('x') == -1: print(' x 는 문자열에 없습니다!!') # 문자열 나누기 string = "Dave love is Book" string.split() string.split()[3] # 공백을 기준..
파이썬으로 특정 사이트 로그인해서 정보 크롤링하기 import requests from bs4 import BeautifulSoup loing_url = 'http://www.hanbit.co.kr/member/login_proc.php' # 로그인 값을 입력하는 html 페이지가 아닌 로그인을 처리하는 페이지 주소를 입력한다 # 크롬 개발자모드 > network 탭에서 로그인 처리하면 확인가능 craw_url = 'http://www.hanbit.co.kr/myhanbit/myhanbit.html' # 로그인해서 마일리지 값이 있는 페이지 주소를 입력한다 session = requests.session() params = dict() params['m_id'] = 'yumk1979' params['m_passwd'] = '본인의 비밀번호 값 입력' #..
파이썬 - 공공 데이터 포털 Open API XML 데이터 가져오기 블로그에 하루하루 파이썬 공부를 하면서 코딩한 내용을 정리하고 있는데 복습의 의미도 있고 나름 정리도 되면서 좋은 점이 많은 것 같습니다. 오늘은 정부에서 운영중인 공공데이터 포털 사이트의 Open API 를 이용하여 " 미세먼지 " 데이터를 XML 형태로 가져와서 데이터 가공을 해 보도록 하겠습니다. 우선 공공데이터 포털에 접속하여 연동할 데이터 검색 후 [ 활용신청 ] 을 해 주셔야 합니다. 활용신청을 하면 위와 같은 페이지가 접속이 되는데 디폴트로 체크되어 있는 값을 그대로 유지한채로 상세기능정보과 라이센스 표시 동의를 한 후에 " 신청 " 버튼을 클릭합니다. API 활용신청 후 신청이 완료되면 마이페이지 > 개발계정 메뉴에 접속해 보시면 [ 일반 인증키 ] 부분에 Open API 연동에 필요한 인..
파이썬 - 네이버 Open API 를 이용한 쇼핑 검색결과 엑셀 파일에 저장하기 네이버 오픈 API 이용하여, 쇼핑 검색어 기준으로 1,000개 까지 상품명, 링크주소를 엑셀파일에 저장하기 소스 코드입니다. 소스 코드 상의 client_id / client_secret 은 네이버 개발자센터에서 각자 부여받은 코드를 입력해야 합니다. import requests import openpyxl # 엑셀 파일 라이브러리 import client_id = '네이버 개발자센터에서 부여받은 각자 id code 입력' client_secret = '네이버 개발자센터에서 부여받은 각자 secret code 입력' # client_id / client_secret 코드는 네이버 개발자센터에서 발급받은 코드를 입력 start = 1 num = 0 excel_file = openpyxl.Workbook(..
파이썬 웹크롤링 - 네이버 쇼핑 BEST 100 상품명 크롤링하기 오늘은 네이버 쇼핑 > 베스트 100 카테고리 중 패션의류, 패션잡화의 베스트 100 리스트의 상품명 100개를 크롤링해 보도록 하겠습니다. 파이썬을 공부하면서 느끼는 부분은 소스 코드가 참 간결하다. 하지만 파이썬은 쉽다고 말하는 부분은 개인적으로는 동의하기 어려운 부분입니다. 코딩에 대한 기본 문법과 객체지향을 이해하고 접근하기에 쉽다고 느낄 부분이지 초보자가 문법과 객체지향을 이해하기에는 결코 쉬운 언어는 아니라고 생각합니다. 아무튼 오늘은 두개의 URL를 한꺼번에 리스트에 담아서 크롤링하는 방법에 대해 메모해 두도록 하겠습니다. import requests from bs4 import BeautifulSoup # 네이버 쇼핑의 두개 카테고리 주소를 리스트에 담는다 site_link = ['http..
파이썬 - 게시판 제목 크롤링하여 엑셀파일에 저장하기 오늘은 파이썬 두 번째 포스팅으로 특정 게시판의 제목을 크롤링하여 엑셀 파일에 저장하는 소스를 작성해 보도록 하겠습니다. 해당 강좌는 인프런의 잔재미코딩님의 강좌를 기반으로 작성되는 것이고 공부한 내용의 복습 차원에서 제가 이해하고 있는 부분에 대해 메모를 남겨 놓는 포스팅입니다. from urllib.requests import urlopen from bs4 import BeautifulSoup import openpyxl # 파이썬 엑셀파일 클래스 임포트 excel_file = openpyxl.Workbook() excel_sheet = excel_file.active excel_sheet.column_dimensions['B'].width = 100 # 엑셀 시트에서 B 컬럼의 가로폭을 조정 num..