티스토리 뷰

다양하게 크롤링 하는 방법은 아래 링크를 통해 알 수 있다.

 

requests, get방식>

requests로 기사 크롤링 하기 ☜

requests로 구글에서 사진 크롤링 하기 ☜

 

<request, post방식>

requests로 주식 가격 데이터 크롤링 하기 ☜

셀레니움 selenium으로 다나와 사이트 크롤링 하기 ☜

 


이글을 이해하기 위해서는

  • 서버와 클라이언트의 개념을 알면 좋다.
  • 서버와 클라이언트의 통신 방법 (get, post등)의 개념을 알면 좋다
  • HTML이 무엇인지, 그리고 HTML의 구조에 대해 알면 좋다.


크롤링 대략적인 순서도

1.사전준비 (robots.txt)

  • 주소/robots.txt
  • 웹페이지에 접근이 허용된 User-agent 확인
  • 웹페이지에 접근 가능한지 여부 확인

주소옆에 robots.txt를 치면 오른쪽과 같은 정보를 얻을 수 있음

  • User-agent : 유저가 사용하는 bot의 이름
  • Disallow : 언급된 User-agent가 접근할 수 없는 주소
  • Allow : 언급된 User-agent에게 접근이 허용된 주소

 


2. 크롤링 필수 정보 확인 (개발자 도구)

  • 단축키 = F12 or Ctrl + Shift + i
  • Elements 탭 = 화면을 구성하는 HTML들을 볼 수 있음 (크롤링할 대상 확인)
  • Network 탭 = 화면을 구성하기 위해 서버와 통신하는 내역 확인 (로그인, Javascript 내용 확인)

단축키를 눌러 개발자 도구가 실행된 모습

<Element 탭>

  • 크롤링할 대상의 위치 확인= Select Element (Ctrl + Shift + C)
  • 대상의 주소 확인하기

Select elements를 통해 크롤링할 대상의 HTML을 확인 할 수 있다.

크롤링할 대상을 찾았다면,
이제 그대상의 '위치'정보 즉, 주소를 알아야 한다.

그래야 나중에 해당 정보를 찾아 갈 수 있다.
주소의 종류에는 3가지가 있다.

  1. HTML Tag
  2. CSS selector
  3. XPath

HTML 앞부분이 있는 단어들은 'Tag'라고 불리우며, 앞으로 우리가 해당 데이터에 접근하고 싶을 때 필요한 정보이다.
오른쪽 버튼을 누른후 "Copy" 항목을 살펴보면, selector을 복사 할 수 있다.
오른쪽 버튼을 누른후 "Copy" 항목을 살펴보면, XPath를 복사 할 수 있다.

<Network 탭>

  • 데이터 요청방식 확인 (get방식, post 방식)
  • request header 정보 확인
  • Payload에서 요청시 필요한 parameter 정보 확인

서버에 정보를 요청할때, 필요한 정보들


※ get방식 post방식???
get방식과 , post방식이란 인터넷에서 서버와 클라이언트가 정보를 주고 받는 방식이다.

대충 쉽게 말하자면
A라는 사람이 B라는 사람에게 편지를 줄때

get방식은 편지봉투에 요청내용을 적어서 보내주는 방식이고
post방식은 요청내용을 봉투 안에 넣어서 보내주는 방식이다.

get방식은 간편하지만, 보안에 취약하고, 요청내용에 제한이 있다
post방식은 상대적으로 안전하다. 또한 많은 내용을 요청 할 수 있다.

친구에게 점심메뉴에 대한 정보를 요청할때는 GET방식이면 충분하다

 

하지만 산타에게 올해 받을 크리스마스 선물을 요청해야 할 경우, POST방식을 사용하는 것이 적절할 것이다.

 

핵심은 데이터를 서버에 요청해서 받아오기 위해 알아야할 모든 정보

개발자 도구에서 확인 할 수 있다는 것!!


3. 웹에서 데이터 가져오기 + 4. 가져온 데이터 가공하기(추출)

  • 그냥 크롤링 하기= requests, get방식
  • 로그인이 필요할 때 = requests, post방식
  • Javascript(ajax) 방식으로 화면이 그려질때 = request, post방식
  • 사람 처럼 크롤링 하기 = 브라우저를 통해 (selenium)
  • 원하는 데이터만 추려내기 (BeautifulSoup)

데이터를 가져오기 위해서는 서버에 데이터를 요청해야 한다.

다양하게 크롤링 하는 방법은 아래 링크를 통해 알 수 있다.

 

requests, get방식>

requests로 기사 크롤링 하기 ☜

requests로 구글에서 사진 크롤링 하기 ☜

 

<request, post방식>

requests로 주식 가격 데이터 크롤링 하기 ☜

셀레니움 selenium으로 다나와 사이트 크롤링 하기 ☜

 


5. 데이터 활용 및 저장하기

  • datafame
  • DataBase (sql)


끝.

 

728x90
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함