Python/파이썬 웹 크롤러
-
다음 카페 크롤링(2023년 업데이트)Python/파이썬 웹 크롤러 2023. 11. 19. 15:58
* 지나친 크롤링은 서버에 무리를 줄 수 있으며, 계정 정지 처분을 받을 수 있습니다. 달라진 부분 1. 다음 카페의 로그인 방식 2. 셀레니움의 버전업 3. 웹 드라이버 자동 설치 설치 pip install selenium pip install webdriver-manager 코드 from selenium import webdriver from selenium.webdriver.chrome.options import Options from selenium.webdriver.chrome.service import Service from selenium.webdriver.common.by import By # 크롬 드라이버 자동 설치 from webdriver_manager.chrome import Chr..
-
[파이썬] 웹 크롤러 + Tkinter : 기상청 일기예보Python/파이썬 웹 크롤러 2022. 12. 18. 22:11
https://www.weather.go.kr/w/pop/rss-guide.do RSS 서비스 안내 RSS(Really Simple Syndication, Rich Site Summary)란 블로그처럼 컨텐츠 업데이트가 자주 일어나는 웹사이트에서, 업데이트된 정보를 쉽게 구독자들에게 제공하기 위해 XML을 기초로 만들어진 데이터 형식입 www.weather.go.kr 아래 코드는 1.5시간에 1번씩 기상청 RSS를 크롤링해온다. 필요 이상의 과도한 크롤링은 서버 부담만 늘릴 뿐이다. 서울 강남 개포1동 RSS 주소 : https://www.kma.go.kr/wid/queryDFSRSS.jsp?zone=1168066000 import tkinter as tk import xml.etree.ElementTr..
-
파이썬(Python): 네이버 밴드(Band) APIPython/파이썬 웹 크롤러 2021. 6. 20. 12:21
[개발자] https://band.us/에 접속해 하단의 개발자 메뉴에 들어간다. [OPEN API] [서비스 등록] [내 서비스 등록] [서비스 등록] Redirect URI는 아무 거나 넣어도... [서비스 확인] 등록을 마치면 내 서비스 목록에서 서비스를 확인할 수 있다. [Access Token] 서비스를 클릭하면 자세한 정보를 알 수 있다. 밴드 API에 접근하기 위해서는 Access Token이 필요하다. [밴드 목록 조회] 내가 속한 밴드에 접근하기 위해서는 밴드 키가 필요하다. 밴드 키를 알기 위해서는 밴드 목록을 조회해야 한다. 자세한 것은 아래 문서에 잘 나와 있다. https://developers.band.us/develop/guide/api/get_bands # 파이썬 기본 라이브..
-
7. selenium 과 BeautifulSoup으로 daum 카페 크롤링 - 댓글편Python/파이썬 웹 크롤러 2019. 5. 18. 01:45
깃헙에서 예제가 잘 보이지 않을 때는 raw를 클릭하시던지 저장해서 보시면 될 것 같습니다. 예제 주소: https://github.com/pycrawling/crawling-tutorial/blob/master/daum-cafe-mobile-crawler-reply.ipynb * 크롤링 + db 저장까지 하겠습니다. 본문편에서 설명한 부분은 제외합니다. 1. import sqlite 파이썬의 기본 내장 DB인 sqlite를 사용하겠습니다. import sqlite3 2. 데이터베이스 초기화 sqlite는 IF NOT EXISTS 조건을 사용해서 테이블을 생성할 수 있습니다. 편합니다. ^^ conn = sqlite3.connect(DB) cur = conn.cursor() sql = 'CREATE TA..
-
6. selenium 과 BeautifulSoup으로 daum 카페 크롤링 - 본문편Python/파이썬 웹 크롤러 2019. 5. 17. 20:36
* 주의사항 과도한 크롤링은 법적인 문제가 될 수도 있습니다. 실습 시 대상 서버에 과도한 부하가 걸리지 않도록 주의합시다. 다음은 과도한 크롤링이 적발될 경우 계정을 정지시킵니다. 미리 연습용 계정을 만드는 것도 괜찮겠네요. 예제 주소: https://github.com/pycrawling/crawling-tutorial/blob/master/daum-cafe-mobile-crawler-article.ipynb * 모바일용 홈페이지를 공략하자. 모바일용 홈페이지가 PC용 홈페이지보다 단순한 구조를 가진 경우가 많습니다. 구조가 단순할 수록 크롤링이 쉽습니다. 1. 필요한 라이브러리들을 불러옵니다. 예제 중 설명이 필요한 부분만 블로그에 올리겠습니다. from selenium import webdrive..
-
5. selenium 과 BeautifulSoup을 이용한 본격 웹 크롤링 - 설치Python/파이썬 웹 크롤러 2019. 5. 16. 22:47
앞서 파이썬의 기본 라이브러리인 urllib와 ElementTree를 이용한 RSS 크롤링을 해 보았습니다. RSS도 웹 서비스의 일종이라 웹 크롤링으로 볼 수는 있겠지만, 우리가 흔히 보는 웹 서비스와는 거리가 있어서, 독자들의 기대치에는 많이 못 미쳤을 거라 생각됩니다. 이제 셀레니움을 사용해서 본격적인 웹 크롤링을 해봅시다. ^^ selenium은 웹드라이버를 통해 크롬이나 파이어폭스 브라우저를 컨트롤합니다. 덕분에 로그인 통과 정도는 너무 쉬워졌고, 기존 크롤러들에게는 난제였던 자바스크립트 문제까지 해결이 됩니다. selenium도 단점이 있습니다. 이유는 잘 알 수 없지만 몇 천 페이지를 크롤링 하다보면 중간에 한번씩 다운되는 경우가 있습니다. 따라서, 중간부터 재시작 할 가능성도 염두에 두고 ..
-
4. 기상청 RSS를 파싱해보자. (python, ElementTree)Python/파이썬 웹 크롤러 2019. 5. 16. 19:25
예제 주소: https://github.com/pycrawling/crawling-tutorial/blob/master/weather.ipynb 1. XML과 트리구조 xml은 Tree 구조를 가집니다. 구글에서 검색해보세요. xml 트리 구조 위 그림에서 아래의 트리구조를 확인할 수 있습니다. link와 item 은 아래에 자식 요소(엘리먼트)가 더 있지만 생략했습니다. rss -+- channel -+- title +- link -+ +- description +- language +- generator +- pubDate +- item -+ 브라우저에서 다음 링크를 연 후에 삼각형을 클릭해보면서 트리 구조를 확인합시다. http://www.kma.go.kr/weather/forecast/mid-te..
-
3. 기상청 RSS를 크롤링해보자. (python, urllib)Python/파이썬 웹 크롤러 2019. 5. 16. 18:07
예제 : https://github.com/pycrawling/crawling-tutorial/blob/master/weather.ipynb 0. 주의사항 과도한 크롤링은 법적인 문제가 될 수도 있습니다. 실습 시 대상 서버에 과도한 부하가 걸리지 않도록 주의합시다. 1. RSS란 RSS 란 Really Simple Syndication 또는 Rich Site Summary 의 줄임말입니다. RSS 를 활용하면 직접 방문 없이 RSS 리더를 통해서 최신 정보를 모아서 볼 수 있습니다. 주로 언론사의 홈페이지에서 제공합니다. 뉴스 모아보기가 가능~! 팟 캐스트도 일종의 RSS 서비스 입니다. RSS 내에 미디어 파일을 링크한 것입니다. 2. 기상청 RSS 서비스 https://www.weather.go.k..