기본적인 웹의 구조(정말 간단히)와 BeautifulSoup (이하 BS, BS4)를 소개하고 간략하게 실습하는 장이다.
사용자가 웹에서 'www.google.com'을 검색하면 결과가 나오기까지의 과정을 컴퓨터구조 방면, 네트워크 방면, 클라이언트-서버 방면으로 간략하게만 설명해준다.
아마 웹의 전반적인 구조를 이해하고 크롤링을 배우는게 좋다고 판단하신듯 하다.
그리고 파이썬으로 위와 같은 방법 (서버에서 GET 요청&열기)를 바로 실습해본다. (p.25)
BS 설치법을 알려주고(리눅스 버전, pip 버전), 파이썬 개발 입문서의 단골인 가상환경과 파이썬 버전 주의사항이 나온다.
from urllib.request import urlopen
from urllib.error import HTTPError
from bs4 import BeautifulSoup
def getTitle(url):
try:
html = urlopen(url)
except HTTPError as e:
return None
try:
bs = BeautifulSoup(html.read(), 'html.parser')
title = bs.body.h1
except AttributeError as e:
return None
return title
title = getTitle('http://www.pythonscraping.com/pages/page1.html')
if title == None:
print('Title could not be found')
else:
print(title)
참고로 위에 코드는 '개요'에 달아놓은 본인 깃허브에도 올려놨다. -> 짜잘한 함수 설명 주석은 깃허브에 있다.
코드 설명
2장 정도 읽어봤는데 작가님이 알고 있는 지식이 많아 풍부한 설명을 위한 도메인들이 좀 많다. 얘기가 명료하지 못 하다고 느낄 수도 있겠다. 하지만 실습 내용에 대해서는 정확하게 이해하고 설명한다는 느낌이 강하게 든다.