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..