본문 바로가기
공부/Python(FastAPI)

코딩애플 python(2)

by 줘요 2023. 12. 21.

웹크롤러 - 웹에 있는 데이터를 수집해서 저장해주는 프로그램

 

파이썬으로 데이터가 들어있는 웹사이트 접속

HTML 속에서 필요한 정보 추출

 

pip install requests(웹사이트 접속을 도와주는 라이브러리),

pip install bs4(HTML 웹문서 분석을 도와주는 라이브러리) 라이브러리 설치 후 

import requests
from bs4 import BeautifulSoup

 

네이버증권 삼성전자 페이지

data = requests.get('https://finance.naver.com/item/sise.naver?code=005930')

print(data)
print(data.status_code)

 

연결상태 양호

HTML 정보를 터미널에서 확인

soup = BeautifulSoup(data.content, 'html.parser')

print(soup)

 

soup에 HTML 정보가 다 들어가 있음

 

개발자 도구에서 이 버튼을 누르고 원하는 정보 부분을 클릭하면 HTML 정보를 바로 보여줌

삼성전자의 현재가만 가지고 오고 싶음

 

strong 태그에 id가 _nowVal인 것을 가져옴

import requests
from bs4 import BeautifulSoup

data = requests.get('https://finance.naver.com/item/sise.naver?code=005930')

soup = BeautifulSoup(data.content, 'html.parser')

print(soup.find_all('strong', id="_nowVal")[0].text)

 

class, id가 없는 요소는 select 함수 활용

 

 

상위 속성명 안에 em태그를 찾아줘로 확인 가능

print(soup.select('.f_up em')[1].text)

 

 

이미지 수집 

select로 이미지 태그를 가져온 후 이미지의 url을 넣어준다.

import urllib.request

이미지 = soup.select('#img_chart_area')[0]
url = 이미지['src']

urllib.request.urlretrieve(url,'삼전.jpg')

 

 

SSL 오류가 나서 해당 코드도 추가해주었다.

import ssl

ssl._create_default_https_context = ssl._create_unverified_context

 

댓글