Crawling_basic(01)
크롤링
즐거운 마음으로 크롤링 해 봅시다 !
01. file 준비
file 은
repository에 올려놓았다.
pycham을 열어서 python 가상환경(VENV)설정 후 그 file에서 진행.
02. 크롤링 : BeautifulSoup 설치
beautifulsoup 설치는 여기 에서 시작
terminal에 위의 명령어 입력
BeautifulSoup 설치 되었는지 한번 더 확인
1 | from bs4 import BeautifulSoup |
terminal에 library imported가 print 된다.
03. 크롤링 : code
03.1 객체 초기화
1 | def main(): |
함수를 만들어 html file을 열고 그 file을 parser로 python이 읽을 수 있는 형태로 가져온다.
out:
1 |
|
읽어 오는 데 까지가 끝
03.2 원하는 객체 뽑아내기 : HTML tag로
1 | # /c/../Crawring/venv/Scripts/python |
out:
1 | library imported |
.find("div")
: div tag를 뽑아오는 구문.get_text()
: div tag를 삭제하고 text만 뽑아옴.find_all("div")
: get text()가 안먹는다.
03.3 원하는 객체 뽑아내기 : class name으로
1 |
|
03.4 원하는 객체 뽑아내기 : id 로
1 |
|
04. data 뽑아내기
- 신비롭게 data 뽑아내는 거는 google colab에서 진행
04.1 data file 받아오기
- Data file은 여기에서 무료로 혹은 유료로 받을 수 있다.
- 인증키를 받아서 사용 해야 하는데, 인증키는 여기 서 개인정보를 입력하고 받아 오면 된다.
- 인증키를 받았다면 google colab 열고 진행
- 인증키는 입력한 메일로 오기 때문에 메일을 잘 쓰기 바란다.
1 | import requests |
<Response [200]>
인증키를 서공적으로 넣으면 위와 같은 out이 나온다.
04.2 responses로 json file 만들기
1 | json = responses.json() |
out:
1 | {'code': 'SUCCESS', |
- json 객체에 responses 함수를 이용하여 json형태의 file을 담고
cars
: 내가 찾고 싶은 부분을 file의 형태에서 찾아서 넣는다.- file의 구조와 내가 찾고 싶은 부분을 알고 있어야 원하는 정보를 넣을 수 있다.
04.3 json file 에서 원하는 정보 빼오기
- 알 수 없지만,
realUnitTrtmVO
라는 tag? dictionarly에 접근하여
정보를 빼보자.
1 | cars = json["realUnitTrtmVO"] |
out:
1 | [{'efcvTrfl': '18', |
04.4 csv file로 출력
- pandas를 이용하여 dictionarly, json file을 dataFrame, csv file로 변환
1 | import pandas as pd |
Encoding의 경우 해당 json file의 documents를 봐야함.
google과 같은 기업에서 API를 받아와서 사용 하는 것도 가능 하므로
앞으로 이 기술은 무궁무진한 발전 가능성이 있을 것으로 보임 ^^
Crawling_basic(01)
https://yoonhwa-p.github.io/2022/01/03/python/Crowling_basic01/
You need to set
install_url
to use ShareThis. Please set it in _config.yml
.