본문 바로가기

프로그래밍/파이썬

파이썬으로 웹 크롤링 하기(1) 정적인 웹 페이지

1. URL 요청하기
URL 요청은 파이썬 라이브러리 requests를 사용한다.

import requests

url = requests.get('https://www.naver.com/')

print(url.status_code)
print(url.text)

이렇게 실행을하면 다음과 같이 html 코드를 출력하는것을 볼 수 있다.

2.BeautifulSoup
BeautifulSoup은 원하는 html의 요소에 접근할 수 있도록 도와준다.

다음 예제는 교보 문고 국내도서 소설 카테고리의 베스트셀러 제목들을 텍스트 형식으로 가져오는 예제이다.
우선 크롬의 개발도구를 F12키를 눌러 열고

제목부분을 오른쪽 클릭하여 검사를 누른다.

검사를 누르면 파란색으로 강조되는 영역을 오른쪽 클릭하고 Copy -> Copy selector를 누르고 붙여넣기를 하면 다음과 같이 selector가 나오게 된다.

selector-

#prd_list_type1 > li:nth-child(17) > div > div.info_area > div.detail > div.title > a > strong

selector를 얻었으면 selector를 이용하여 교보문고 국내도서 소설 베스트 셀러의 첫 페이지 도서 20권은 제목정보를 다음과 같이 코딩하여 얻어올 수 있다. 

import requests
from bs4 import BeautifulSoup

url = 'http://www.kyobobook.co.kr/categoryRenewal/categoryMain.laf?perPage=20&mallGb=KOR&linkClass=01&menuCode=002'

name = list()
html = requests.get(url).text
soup = BeautifulSoup(html, 'html.parser')

for l in soup.select("div.info_area > div.detail > div.title > a > strong"):
    name.append(l.get_text())

print(name)

 

-결과화면