머신러닝이란?Machine Learning은 "기계가 일일이 코드로 명시되어 있지 않은 동작을 데이터로부터 학습하여 실행할 수 있도록 하는 '알고리즘'을 개발하는 연구 분야이다."(1959년 아서 사무엘) 머신러닝을 간단히 말하면 "데이터를 이용한 모델링 기법" 이라 할 수 있습니다.부연 설명을 해보면 머신러닝은 데이터에서 모델을 찾아내는 기법입니다.데이터는 문서, 음성, 이미지 등의 자료를 뜻하고, 모델은 머신러닝으로 얻어낸 최종 결과물을 뜻합니다. 그리고 모델링에 사용하는 데이터를 학습 데이터라고 합니다. 예를 들면 우리가 스팸메일을 걸러내는 프로그램을 만든다고 생각해 보자. 가장 간단하게 생각 할 수 있는 것은 블랙리스트를 만들어 블랙리스트에 있는 사람은 걸러내는 방법이다. 하지만 이것은 이름을 바..
IP주소 먼저 가져오기위키백과를 둘러보면 사용자가 로그인한 상태에서 위키백과를 편집했다면 그 사용자 이름이 표시됩니다. 그렇지 않다면 사용자 이름 대신 IP주소가 기록됩니다. 이 IP를 freegeoip.not API에 문의하면 편집한 위치의 나라를 알려줍니다. 우리는 위키백과 개정 내역 페이지를 크롤링하고 IP 주소를 찾아내는 스크립트를 어렵지 않게 만들 수 있습니다. 12345678910111213141516171819202122232425262728293031323334353637383940from urllib.request import urlopenfrom bs4 import BeautifulSoupimport datetimeimport randomimport re random.seed(datet..
단일 도메인 내의 이동웹 크롤러라는 이름은 웹을 크롤링하기 때문에 붙여진 이름입니다. 그 핵심은 재귀입니다. URL에서 페이지를 가져오고, 그페이지를 검사해 다른 URL을 찾고, 다시 그 페이지를 가져오는 작업을 무한히 반복하는 것이 웹 크롤러라고 할 수 있습니다. URL에서 페이지를 가져오고, 그 페이지를 검사해 다른 URL를 찾는 방법은 '케빈 베이컨의 여섯 다리'를 이용할 것입니다. 서로 목표가 관계없어 보이는 두 대상을 연결시키겠다는 것입니다.(링크로 연결된 항목들) 아래 스크립트는 위키백과 페이지를 가져와서 페이지에 들어 있는 링크 목록을 가져오는 스크립트입니다 12345678from urllib.request import urlopenfrom bs4 import BeautifulSoup htm..
1. find()와 findAll()find()와 findAll()은 BeautifulSoup에서 가장 자주 쓰는 함수입니다. 이 함수를 쓰면 HTML 페이지에서 원하는 태그를 다양한 속성에 따라 쉽게 필터링할 수 있습니다. 두 함수는 거의 비슷하지만 다릅니다. find(tag, attributes, recursive, text, keyword) findAll(tag, attributes, recursive, text, limit, keyword)tag 매개변수tag 매개변수는 태그 이름인 문자열을 넘기거나, 태그 이름으로 이루어진 파이썬 리스트를 넘길 수도 있습니다. attributes 매개변수attributes 매개변수는 속성으로 이루어진 파이썬 딕셔너리를 받고, 그중 하나에 일치하는 태그를 찾습니다..
BeautifulSoup 라이브러리에서 가장 널리 쓰이는 객체는 물론 BeautifulSoup 객체입니다. 또 잘못된 HTML을 수정하여 쉽게 탐색할 수 있는 XML 형식의 파이썬 객체로 변환하므로 골치 아픈 웹을 탐색할 때 유용합니다. BeautifulSoup 객체원하는 정보를 둘러싼, 혹은 그 주변에 태그가 있기만 하면 HTML(XML) 파일에서 어떤 정보든 추출할 수 있습니다. 12345from urllib.request import urlopenfrom bs4 import BeautifulSouphtml=urlopen("http://www.pythonscraping.com/pages/page1.html")bsObj=BeautifulSoup(html.read(),"html.parser")print(..
urllib의 주요 모듈 활용urllib 라이브러리는 python에서 웹과 관련된 데이터를 쉽게 이용하게 도와주는 라이브러리입니다.request 모듈12345from urllib.request import urlopenfrom bs4 import BeautifulSouphtml=urlopen("http://www.pythonscraping.com/pages/page1.html")bsObj=BeautifulSoup(html,"html.parser")print(bsObj.h1) cs웹 문서 불러오기1234from urllib.request import urlopenfrom bs4 import BeautifulSouphtml=urlopen("http://www.pythonscraping.com/pages/pa..