나의 발자취
금융데이터 크롤링 부분 중 (FR 겨울방학 심화스터디 2주차용) 본문
## 4.4 뷰티풀 수프로 일별 시세 읽어오기
뷰티풀 수프 : html, xml 페이지로부터 데이터를 추출하는 파이썬 라이브러리로, 웹 스크레이퍼.
일단, 값을 못읽어준다. 헤더 설정해야함.
# 값을 못읽어와서 문제를 해결해줌.
url = "https://finance.naver.com/item/sise_day.nhn?code=068270&page=1"
headers = {'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.67 Safari/537.36'}
res = requests.get(url, verify=False, headers=headers)
req.content.decode('utf-8','replace')
네이버금융 셀트리온에 들어가서 소스 코드에서 링크 주소 검색하는 방법.
사파리에서 접속하여 url 링크 가져와서 , opt+cmd+ U 누르면 아래와 같이 소스코드를 볼 수 있다.
'맨뒤'라는 키워드를 찾으면 이 글자에 링크된 페이지가 몇 페이지인지 확인가능.(383 페이지)
이기 때문에
from bs4 import Beautifulsoup
from urllib.request import urlopen
url = "https://finance.naver.com/item/sise_day.nhn?code=068270&page=1"
with urlopen(url) as doc:
html = Beautifulsoup(doc, 'lxml') # 파싱방법 : lxml
pgrr = html.find('td', class_='pgRR') # pgRR = pageRightRight
print(pgrr.a['href'])
'맨뒤'를 가진 마지막 페이지를 나타내는 링크는 <a> 태그 안 href 태그를 가진 곳 안에 있고, 그 전에 td 태그에서 class의 속성이 'pgRR'인 것을 찾아야하기 때문에.
와우...^^ 다 갖고오긴 했는데 한글이 깨진다.
read_html()에 인코딩 속성을 설정해주었더니 잘 돌아간다 ^^
'금융공학 > 프로젝트' 카테고리의 다른 글
블록체인과 금융: 디파이 (금융공학 특별세미나 발표주제) (0) | 2020.11.05 |
---|
Comments