No img

파이썬을 이용해서 웹 크롤링을 하는 대표적인 방법은 정규표현식을 사용하는 것과 beautifulSoup를 사용하는 2가지로 나뉜다.

 

1. 정규 표현식을 사용하는 방법


import requests
import re #regular expression(정규표현식)을 사용하기 위한 라이브러리

url = ''

res = requests.get(url)
html = res.text

pattern = r'정규표현식'
find_url = re.findall(pattern, html)

본 코드를 기본 모델로 자신에게 맞는 url과 정규표현식 부분을 입력해서 사용하면 된다.

fine_url에 내가 작성한 정규표현식에 match 되는 모든 값들이 리스트로 저장된다.

정규식을 이용해 문자열을 검색할 때는 다음과 같은 메소드를 사용한다.

Method Contents
match() 문자열 처음부터 정규식과 매치되는 것을 확인
search() 문자열 전체를 검색하여 정규식과 매치 확인
findall() 정규식과 매치되는 모든 문자열을 리스트로 반환
finditer() 정규식과 매치되는 모든 문자열을 반복 가능한 객체로 반환

 

2. beautifulSoup을 사용하는 방법


import requests
from bs4 import BeautifulSoup

url = ''

req = requests.get(url)
html = req.text

soup = BeautifulSoup(html, 'html.parser')
names = soup.select('태그')

정규표현식과 마찬가지로 본 코드 역시 자신에게 맞는 url과 select 태그 부분을 입력해서 사용하면 된다.

names에 내가 요청한 태그에 match 되는 모든 값들이 저장된다.

 

 

 


+ urlopen

웹 크롤링을 통해 정보를 가져오는 것 뿐 아니라 url을 열어야할 경우(예를 들면 다운로드?) 아래와 같이 하면 된다.

import urllib

url = ''

resource = urllib.request.urlopen(url) #urlopen


#file download
output = open('저장 경로', "wb")
output.write(resource.read())
output.close()