본문 바로가기

Python26

파이썬 크롤러 : requests.get( )으로 못가져오는 사이트 간혹 requests.get으로 못 가져가게 막아 놓은 사이트가 있다. 그런 경우 크롬 개발자 도구의 network탭으로 가면 페이지 변환이 일어나거나 데이터 전송이 일어나는 경우에 네트워크에서 전송되는 파일의 목록을 확인할 수 있다. 이런 경우에 해당 내용을 보면서 데이터가 어떻게 전송되는지 확인하면 json파일로 쉽게 정보를 가져올 수도 있고, 간혹 일반 url만으로 정보가 오지 않는 경우 해당 url 뒤에 쿼리스트링으로 Request Headers에 나온 것을 객체로 만들어서 함께 전달하면 정보를 받을 수 있는 경우가 있다. 동일 사이트 : 정보 가져오지 못함 import requests import re from bs4 import BeautifulSoup url = "http://www.jols.. 2019. 5. 10.
파이썬 에러, re와 BeautifulSoup error : html.parser type Error 파이썬으로 크롤링을 하다보면 웹상의 정보를 가져 온 뒤 원하는 특정 정보를 추출하는 과정에서 에러가 발생하는 경우가 있다. 정규표현식을 하기 위한 re만 쓰거나, Beautifulsoup 뷰티풀숲만 쓰는 경우에는 발생하지 않지만, 2가지를 같이 쓰는 경우에는 에러가 발생하게 된다. 네이버 뉴스 긁어오는 크롤러 : 에러발생 import requests import re from bs4 import BeautifulSoup url="http://news.naver.com/main/main.nhn?mode=LSD&mid=shm&sid1=105" html=requests.get(url) bs_html=BeautifulSoup(html.content,"html.parser") news_list=bs_html.fi.. 2019. 5. 10.
파이썬 웹 크롤러 : 네이버 이미지 검색 저장 프로그램 이번에는 사용자가 함수에 매개변수로 주는 "검색 키워드"와 저장 이미지 숫자에 따라 이미지를 저장하는 웹크롤러 파이썬 프로그램을 만들고자 한다. 우선, 검색어에 따라 가져와야 하는 url의 값이 달라지기 때문에 url의 쿼리스트링을 분석해야 한다. 검색을 할때 변하는 변수를 참고하면 사용자가 입력하는 값에 따라 다른 이미지를 저장하는 프로그램을 만들 수 있다. 네이버에서 이미지로 검색을 하는 경우 주소창이 아래와 같이 변하게 된다. https://search.naver.com/search.naver?where=image&sm=tab_jum&query=커피 주소창에 쓰여있는 정보 중 ?뒤에 붙은 것들은 쿼리스트링이라고 이야기 하며, 서버 쪽으로 정보를 전달 할 때 사용하게 된다. 검색어를 전달하면 해당 검.. 2019. 5. 10.
파이썬 웹 크롤러 만들기 : 네이버 웹툰 전체 썸네일(이미지) 저장 (*주의* 웹크롤러의 경우 다른 사람의 저작물을 저장하여 사용하게 되기 때문에 상업적 이용 시 문제가 될 수 있음) 네이버 웹툰에서 많은 웹툰이 게재되어 있다. 이미지를 저장하는 웹 크롤러를 교육용으로 만들어봤다. 웹툰 별로 정보를 가져올 수 있지만 이미지만 추출 한 후 이미지를 컴퓨터에 저장하는 크롤러를 만들고자 한다. 파일처리가 들어가기 때문에 어렵다고 생각할 수 있지만, 파이썬의 경우 파일처리가 어렵지 않기 때문에 20줄 이하로 만들 수 있다. 네이버 웹툰 이미지 저장 크롤러 requests를 활용하여 내가 이미지를 가져오고자 하는 곳의 정보를 가져오기 해당 정보를 기준으로 BeautifulSoup으로 해당 위치의 이미지 주소를 찾기 img 태그를 찾아서 scr 속성 안에 쓰여져 있는 정보를 가져오.. 2019. 5. 9.
파이썬 웹 크롤러 만들기 : 기상청 RSS 도시 예보 기상청 사이트 이외에도 다양한 api 또는 RSS 정보를 제공하는 곳들이 다수 있다. 공공데이터 활용이 가능하거나, 정보 제공사이트 등에서 무료로 서비스 하는 정보를 개발자 들이 사용할 수 있게 제공하는 곳이 다수 있기 때문에 관련 내용을 참고해 보는 것이 좋다. RSS는 참고로 Really Simple Syndication, Rich Site Summary로 정보를 XML 형태로 제공하여 쉽게 원하는 정보만 가지고 수정할 수 있도록 제공해주는 서비스이다. 기상청 아래 사이트에 가면 RSS 정보를 사용할 수 있는 URL을 준다. http://www.weather.go.kr/weather/lifenindustry/sevice_rss.jsp RSS > 인터넷 > 서비스 > 생활과 산업 > 날씨 > 기상청 홈.. 2019. 5. 9.
파이썬 웹 크롤러 만들기 : 네이버 뉴스 가져오기 웹 크롤러를 만드는 예제의 기본중의 기본 네이버 뉴스 웹 크롤러를 만들어 보고자 한다. 네이버 뉴스 중 IT/과학 분야의 타이틀과 링크를 가져와서 출력하는 웹 크롤러 예제이다. requests와 re, BeautifulSoup을 활용하여 만들 예정이며, 20줄도 안되는 파이썬 코드로 충분히 만들 수 있다. 크롤러를 만드는 코드는 생각보다 어렵지 않다. 크롬 개발자 도구에서 내가 가져오고자 하는 정보가 어떤 태그로 이루어져 있는지, class 또는 ID 명이 지정되어 있는지에 따라 가져 올 수 있는 방법이 나누어 진다. 우선은 사이트를 분석하고, HTML 태그를 개발자 도구로 보면서 해당 위치가 어느위치인지 보고 class 명이나 ID명이 지정되어 있다면 해당 명칭으로 BeautifulSoup을 활용하여 .. 2019. 5. 9.
파이썬 크롤링, 웹 이미지 저장(파일 저장 방법) 웹 이미지 저장하는 방법은 생각보다 간단하다. 만약 자바를 먼저 배운 사람인 경우 자바에서 이미지 파일을 저장하기 위해서는 파일 처리 및 stream 등에 대한 이해를 해야 하지만 파이썬의 경우 이미지 저장 시 훨씬 간단하게 저장이 가능하다. 3줄이면 이미지를 저장할 수 있다. 예시를 보면서 이해하면 좋을 것이다. 웹 주소 이미지 저장 예제 위키피디아의 로고를 저장하는 예제이다. 이미지를 저장하고자 하는 주소 정보를 가져와서 requests로 해당 소스 정보를 가져온다. file = open("저장 파일명.확장자", "wb") open( ) 메소드는 파일을 처리하기 위한 메소드 저장 파일명은 특수문자는 사용하지 않고, 영어와 숫자로 쓰는 것을 권장한다. 확장자는 이미지 파일의 경우 jpg 또는 png 등.. 2019. 5. 9.
파이썬 크롤링, BeautifulSoup으로 정보 가져오기 BeautifulSoup이란? BeautifulSoup은 별도 설치가 필요한 라이브러리이다. 파이참을 사용한다면 아래 링크에서 설치하는 방법을 참고하길 바란다. [Python Crawling] - 파이썬 크롤링 기본, requests와 re & BeautifulSoup 개념 및 설치 파이썬 크롤링 기본, requests와 re & BeautifulSoup 개념 및 설치 크롤링을 하기 위해서 설치해야 하는 것이 2개 있음 원하는 사이트의 정보를 가져오기 사용하는 requests 패키지 사이트의 모든 정보를 가져온 다음 내가 원하는 것을 추출하기 위해서 필요한 라 developsd.tistory.com HTML 소스를 활용하여 특정 노드를 선택할 수 있는 라이브러리로 웹 크롤링을 하는 경우 기본적으로 사용하.. 2019. 5. 9.
파이썬 크롤링, re로 특정 정보 선택하기(간단한 정규표현식) re란? re는 파이썬 기본 라이브러리로 별도 설치가 필요 없다. re를 사용하면 특정 규칙을 가지고 있는 형태의 정보만 선택해서 가져올 수 있다. re 예제 re를 import한 다음 아래와 같이 쓰면 된다. re.findall( 정규표현을 활용한 규칙, 값이 담긴 변수명 ) .+?는 하나 이상의 글자를 의미하며, (.+?)는 해당 위치에 있는 값을 선택하는 것이다. ( )안에 들어가는 것이 내가 추출하고자 하는 정보를 뜻한다. 한번에 여러개의 가로를 쓸수 있음. ( )에 담긴 정보는 배열의 형태로 반환된다. re의 findall 메소드를 사용하면 반환 값이 하나여도 배열을 반환한다. 그렇기 때문에 일반적으로 2차원 배열이 반환 된다. 그래서 그 안의 정보를 가져오기 위해서는 배열변수명[ 1차 인덱스 .. 2019. 5. 9.
반응형