본문 바로가기

Python/Python Crawling9

파이썬 크롤러 : 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.
파이썬 크롤링, 웹 이미지 저장(파일 저장 방법) 웹 이미지 저장하는 방법은 생각보다 간단하다. 만약 자바를 먼저 배운 사람인 경우 자바에서 이미지 파일을 저장하기 위해서는 파일 처리 및 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.
파이썬 크롤링, requests로 네이버 웹 정보 가져오기 requests란? requests는 웹상의 html 소스를 가져오기 위한 라이브러리 기본 라이브러리는 아니기 때문에 별도 설치가 필요하다. 만약 파이참을 쓰고 있다면 아래 링크 참조! [Python Crawling] - 파이썬 크롤링 기본, requests와 re & BeautifulSoup 개념 및 설치 파이썬 크롤링 기본, requests와 re & BeautifulSoup 개념 및 설치 크롤링을 하기 위해서 설치해야 하는 것이 2개 있음 원하는 사이트의 정보를 가져오기 사용하는 requests 패키지 사이트의 모든 정보를 가져온 다음 내가 원하는 것을 추출하기 위해서 필요한 라이브러리가 re와.. developsd.tistory.com 네이버 HTML 소스 추출 자주 들어가게 되는 네이버메인. 만.. 2019. 5. 9.
파이썬 크롤링 기본, 정규표현식이란? 정규표현식(regular expression) 컴퓨터 소프트웨어 기술로 원하는 정보를 추출하는 것을 크롤링이라고 한다.​ 크롤링으로 여러가지 데이터를 가지고 와서 맘에드는 데이터만 뽑기 위해 작성하는 식이 정규표현식. 파이썬에서 re를 import 해서 사용할 수 있다. 기본 라이브러리로 별도 설치 없이 import만으로 사용 가능 ​? 1번 이하 u? u가 0번 이거나 1번 나와야 함 * 0번 이상 u* u가 0번이상 나옴 + 1번 이상 u+ u가 1번 이상 나옴 . 문자 . 1개의 문자와 일치 [ ] 문자클래스 [1-9] [abc]d 1-9까지 중 하나 ad, bd, cd를 뜻 [^ ] 부정 [^a-z] 알파벳 소문자로 시작하지 않는 모든 문자 정규표현식의 문법 설명 정규표현식은 정해진 규칙으로 사용.. 2019. 5. 9.
파이썬 크롤링 기본, requests와 re & BeautifulSoup 개념 및 설치 크롤링을 하기 위해서 설치해야 하는 것이 2개 있음 원하는 사이트의 정보를 가져오기 사용하는 requests 패키지 사이트의 모든 정보를 가져온 다음 내가 원하는 것을 추출하기 위해서 필요한 라이브러리가 re와 BeautifulSoup이 있다. re는 기본 라이브러리로 requests와 BeautifulSoup을 별도 설치가 필요하다. 이렇게 3개의 라이브러리가 있다면, 내가 원하는 웹상의 정보를 가져와서 사용할 수 있다. (HTML에 대한 이해도 있다면 쉽게 크롤러를 만들 수 있다.) requests 웹 상의 html 소스를 가져오기 위한 것 http 요청(request)을 조금 더 편하게 할 수 있는 기능이 들어 있는 패키지 내가 원하는 URL의 정보를 가져올 수 있도록 하는 패키지 라이브러리 설치 .. 2019. 5. 9.
파이썬 크롤링, 웹사이트 정보 가져오기 크롤링, Crawling 크롤링은 스크래이핑이라고도 하는데, 웹상의 정보를 스크랩하듯이 그대로 가져와서 내가 원하는 형태로 가공하는 것을 이야기 한다. 크롤링하는 소프트웨어를 크롤러라고 한다. 일반적으로 파이썬이라는 언어를 활용하여 크롤러를 많이 만든다. 그 이유는 웹 상의 정보를 가져 올 수 있는 다양한 라이브러리가 있고, 웹상의 가져온 정보를 전처리 하는 것이 유용하기 때문이다. 웹 상의 정보를 가져오는 것은 생각보다 어렵지 않다. 처음에 몇번만 해보면 쉽게 가져올 수 있다. 하지만, 어려운 것은! 가져온 정보 중 내가 원하는 데이터만 가져오는것. 필요없는 정보는 쓰레기와 다름없기 때문에 원하는 정보만 꼭 찝어서 가져올 수 있도록 다양한 방법을 고민해야 한다. 정규표현식을 사용하거나, HTML을 분석.. 2019. 5. 9.
반응형