본문 바로가기

파이썬

python 크롤링


(1)크롤링?

크롤링(crawling) 은 웹 페이지를 그대로 가져와서 거기서 데이터를 추출해 내는 것

(스크랩핑(scraping) 데이터자료를 수집하는 행위를 얘기하므로 스크랩핑 안에 크롤링있다고 생각하면 될 듯)

 

(2)패키지 설치

※JSON확장자: JSON(JavaScript Object Notation)은 Javascript 객체 문법으로 구조화된 데이터를 표현하기 위한 문자 기반의 표준 포맷

(구글확장프로그램에서 설치 할 수 있음)

json확장프로그램 사용 시

 

  ①requests라이브러리

: 요청한 페이지의 http를 호출하여 get할 수 있도록 한다,매우 직관적인 API를 제공한다.

위와 같이 url을 요청하여 가져온다.

 

 ②beautiful soup4(bs4)

  : 결과 값을 받아오는 형태의 라이브러리

     html,xml파일로 데이터들을 파싱해주는 라이브러리

 

                ✅보기 힘들던 데이터들이 깔끔하게 정리되어 나와있는 것을 확인 할 수 있었다.

 

(3)bs4사용하기

 

네이버영화 페이지

예시를 위해서 밥정이라는 데이터를 가져오기 위해서 오른쪽마우스버튼을 누르고

copy > copy selector을 이용해서 python파일에 가져올 수 있다.

 

복사한 selector을 붙여넣기하면 괄호 안에 든 데이터를 볼 수 있다.

그리고 select_one을 이용해서 a태그만 가져오겠다라고했다.

select : 크롤링한 자료가 리스트의 형태로 나오며 for문으로 한번 더 접해야한다!
select_one : 요청한 태그의 가장 첫번째를 가져온다

😊<a태그>를 가져오라고 요청했을때 잘 가져온게 보인다.

다시한번 더보자면!

사진안에 설명을 조금 적어놓았다(내가 이해했던대로...?)

('선택한다'라고 적어놨지만 실제는 tr태그들을 list형식으로 가져와라라는 뜻)

+for문으로 한번 다 돌려주고

 

그 list들 중에서 첫번째 a태그를 가져와주오 했을떄

<a>들만 가져와진게 보인다

그리고 제목을 가져오려면!

제목만 가져와보기

a.text       //호출한 a태그의 text속성을 가져가겠다.
             //물론 ['text']을 사용할 수 있다.

href만 가져오기도 가능하다

처음에는 태그를 어디까지 적어야 한다는건지.. 이게 무슨말인지 잘 몰랐었는데

그래도 계속 찾아보고 쓰다보니까 처음보다는 나은거 같다

역시 그냥 계속 써봐야하는게 정답인듯!😎