• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

질문입니다~

21.10.28 16:24 작성 조회수 110

0

강의를 쭉 들으며 모아놓았던 질문들이라 제목을 따로 줄이기 어려워서 두루뭉실하게 썼는데요^^;; 아래부분들에 대해 답변주시면 감사합니다.
참고로 저는 기계공학과 출신이라 이런 computer science에 대해서 잘 몰라서, 용어 등등이 허접해도 양해 부탁드립니다.
 
1. 결국에 제가 이 강의를 들은 이유는 온라인상의 데이터를 갖고오기 위함이였는데요... 그러면 Open API를 제공해준다면 그것을 이용하고, 아니라면 보고있는 url을 그대로 crawling 해온다. 라고 이해하면 되나요?
 
2. crawling을 하다보면 그 url을 만든사람의 규칙에 의존할 것 같습니다. 물론 Open API도 그렇지만, Oepn API는 그래도 이렇게저렇게 구성되어있다~ 라는 가이드라도 있는 느낌인데... crawling은 적혀있는걸 보고 제가 추측(?)을 하는 느낌이다 보니까 그 만든사람이 규칙을 살짝만 바꾸어도 안되지 않을까? 걱정이 되는데요... crawling을 할때, 이런식으로 url에 있는 규칙에 의해서 좀 강건하게? 동적으로? 만드는 방법이 있을까요??? 아니면 그냥 만든사람이 바꿔버렸는데, 그걸 그냥 갖다쓰는사람 입장에선 뭐... 어쩔수없는 걸까요?
 
3. Open API는 권한도 신청하고 만든사람이 제공해주기를 마음먹고 한 느낌인데... crawling은 어찌됐든 url에 가서 그걸 그냥 긁어온다는 느낌인데요... crawling에 대해서는 제약조건은 없나요? url에 공개했다는것 만으로도 그것을 함부로/아무데서나/제한없이 쓸수있다! 는 아닐 것 같아서요...
 
4. crawling을 구글링하며 찾아보다보니... 누군가는 scraping이라고 하는데, crawling과 scraping의 차이는 무엇인가요? 참고로 저는 뭐 검색엔진을 만드는게 아니라... 단순히 온라인상의 데이터를 갖고와서 써먹는 수준이니 (Open API를 통해서든, crawling을 통해서든) 잘은 모르지만 scraping 이라는 표현이 더 맞나? 싶기도 해서 문의드려요
 
5. 제가 이제 이강의를 듣고나면 여러 data들을 갖고와서 그것들을 보관을 해야하는데요... csv나 excel등은 단순히 data를 보관하는 입장에선 비효율적으로 보입니다. (제가 엑셀로 열어서 그래프를 그리거나 그럴게 아니라... 결국엔 python으로 불러와서 놀태니까요) 그러면 강사님의 다음 강의읜 sql, 몽고? 이런걸 들으면 자연스럽게 연동이 될까요?
 
그리고 무엇보다 비전공자인 제가 쉽게 이해할 수 있고, 당장 쓸 수 있게 도와주셔서 감사합니다.

답변 2

·

답변을 작성해보세요.

0

toaehddn님의 프로필

toaehddn

질문자

2021.11.02

안녕하세요, 강사님.

 

이전 내용 2번에 대해서 다시 정리해서 질문을 드리자면,

결국에는 제가 url에 있는 html 정보를 parsing 해서 쓸텐데요, 그 parsing을 할때는 결국에는 select를 하거나 find_element(s)_by_~~을 하거나 해서 쓸것으로 예상이 됩니다.

그럴때보면 결국 현재상태에서 이런데이터는 tag이름은 무엇이고, id는 무엇에 있구나~ 라고 보고 쓸텐데요...

이때 만약에 그 url을 만든사람이, 그 정보를 나타내는 id를 기존에서 바꿔버리면 저는 먹통이 될텐데요... 이런 상황에 대해서 문의였습니다.

(사실 이쪽 분야분들이 어떻게 접근을 하는지를 전혀 몰라서 바보같은 질문일수도 있지만...)

 

보통 일반적으로 어떤것을 사용하라고 할때는, 어떻게 쓰는지를 안내해줄텐데 (Open API도 사용방법을 안내해주는것처럼)... 이렇게 그냥 url을 제가 접근해서, 그 규칙을 찾아내서, 갖고올때는 안내를받은 규칙을 쓴다기보다는... 규칙을 역으로 찾아내서 찾다보니까... 추후에 사용자가 규칙을 바꿔버리면 이전코드는 먹통이 될텐데요...

물론 OpenAPI도 그러겠지만, 그러면 '나 규칙 바꿨어~'라고 알려줄것같아서요

그러면 반대로 이러한 크롤링은 해보다가 에러가발생하면 그때 '이제는 규칙이 바뀌었으니 다시 해야겠다'라고 접근을 해야하는것인지, 아니면 url에서 이런규칙을 바꿉니다 라고 안내가 있는것인지? 이런 부분이 궁금합니다.

0

안녕하세요. 이렇게 문의가 많은 경우는 수년간 많지 않은데요. 우선 답변이 짧아도 양해부탁드려요. 본 질문/답변란이 사실 강의 영상대로 했을 때 진행이 안되서, 이를 해결해드리기 위한 질문/답변이라서요. 현업에 있어서 1:1과외처럼 강의 영상이 아닌 궁금한 것들을 답변해드리기는 또 무리가 있어서요 ㅎㅎ 또 아주 가끔은 직접 질문하고, 이에 대해 답변을 바로 바로 얻어야만, 학습을 하시는 분들도 있으시거든요. 그런 경우는 IT 기술을 활용하고 이해하기에 무리가 있어요. 검색과 다양한 자료를 통해, 고민해보며 스스로 익힐 수 있어야, 다양한 자기만의 케이스를 해결해갈 수 있는 것은 사실이거든요. 어쨌든 최대한 답변을 드립니다.

1. 네 맞습니다.

2. 이 부분은 무엇을 말씀하시는 것인지 잘 모르겠습니다. 웹페이지에 들어 있는 데이터를 웹페이지 표현 방식에 의거해서, 데이터를 추출하는 기술이 크롤링 기술입니다. 패턴을 잘생각해서, 원하시는대로 추출하시면 되는 것이라서, 특별한 강건한 룰? 같은 것은 없습니다.

3. 말씀하신 것은 맞습니다. 사실 저작권 이슈도 있어요. 그래서, 아무 데이터나 막 가져와서, 자신의 데이터처럼 또다른 나만의 블로그에 올린다든지 하는 것은 기본적으로는 문제가 됩니다. 보통은 데이터를 자체적으로 분석할 때, 또는 대량의 데이터를 가져올 때 쓰는 기술이지, 남이 한땀한땀 만들어놓은 저작권이 있는 자료를 맘대로 가져와서 활용하는 것은 법적 문제가 있을 수 있어요. 이 부분은 활용과 관련된 또다른 문제이긴 하죠. 일부 시스템에서는 강제로 크롤링을 막기 위한 기술을 쓰는 경우도 있습니다. 하지만 크롤링은 큰 그림에서는 데이터 분석/과학 기술의 시작점이기도 해서, 관련 커리어 기술을 익히기 위해 익히는 것이기도 합니다.

4. 크롤링과 스크래핑은 거의 동일하게 사용될 수 있는 용어입니다.

5. 물론 가져온 데이터를 SQL 등에 저장하면 됩니다. 다만 그런 과정은 커리어를 쌓기 위해, 차곡차곡 역량을 쌓는 것을 전제로 해서, 가볍게 보시기에는 조금 무리가 될 수 있어요. 쉽게 쭉 따라오기만 하면 바로 익혀지고, 내 맘대로 쓸 수 있지가 않아서요. 많은 시간 스스로 연습해보는 시간도 필요해서요. 커리어를 쌓으실 정도가 아니시라면, 별도 새로운 기술인 SQL 등의 추가 강의보다는, 본 강의 후반부에 나오는 엑셀로 저장하는 방법을 추천드립니다.

감사합니다.