개발_기타/Python

Python | 파이썬으로 정적 페이지 크롤링하기

zuyo 2022. 3. 24. 22:30
반응형

1. BeautifulSoup 설치 (정적 페이지 크롤링에 사용되는 라이브러리)

# 파이썬에 모듈을 설치하기 위해 pip를 설치한다.

# 1. 설치 되어있는지 확인
pip
# or
pip3

# 2. 설치
# Redhat 계열 (CentOS)
yum install python-pip
# MacOS
sudo easy_install pip

# MacOS에서 설치 시 Systax Error가 발생하는 경우
curl 'https://bootstrap.pypa.io/get-pip.py' > get-pip.py
sudo python3 get-pip.py
# 참고 : https://programmerah.com/solved-failed-to-install-pip-for-macos-prompt-syntax-error-invalid-syntax-41653/

#----------------------------------------------------------------

# Beautifulsoup4 설치
pip3 install beautifulsoup4

 

2. Python 코드

#!/usr/bin/env python3

from bs4 import BeautifulSoup
import requests
from requests import get
import urllib.request
import os
from urllib.parse import urlparse

page = requests.get(input('Enter URL: '))
soup = BeautifulSoup(page.text, 'html.parser')

for img in soup.find_all('img'):
    imgurl = img['src']
    a = urlparse(imgurl)
    print("imgurl : " + imgurl)
    imgname = os.path.basename(a.path)
    print("imgname : " + imgname)
    
    urllib.request.urlretrieve(imgurl, filename=imgname)

 

3. 실행

# 실행
python3 파일명.py

# 테스트용 URL
https://shield41791.github.io/dior/

# ModuleNotFoundError: No module named 'requests' 에러가 발생하는 경우
pip3 install requests

 

참고

https://geundung.dev/36

반응형