* 국민대학교 빅데이터 분석학회 D&A Session에서 진행한 자료입니다. 웹 크롤링에 대한 기본적인 개념과 파이썬과 관련된 소스 코드를 담았습니다.
* 아래는 PPT에 포함된 크롤링 예제 코드입니다. https://drive.google.com/file/d/1ty7JLz8ccicPTrpry4dpkqCGuTclA68M/view?usp=sharing
ChatGPT is a natural language processing technology developed by OpenAI. This model is based on the GPT-3 architecture and can be applied to various language tasks by training on large-scale datasets. When applied to a search engine, ChatGPT enables the implementation of an AI-based conversational system that understands user questions or queries and provides relevant information.
ChatGPT takes user questions as input and generates appropriate responses based on them. Since this model considers the context of previous conversations, it can provide more natural dialogue. Moreover, ChatGPT has been trained on diverse information from the internet, allowing it to provide practical and accurate answers to user questions.
When applying ChatGPT to a search engine, the system searches for relevant information based on the user's search query and uses ChatGPT to generate answers to present along with the search results. To do this, the search engine provides an interface that connects with ChatGPT, allowing the user's questions to be passed to the model and the answers generated by the model to be presented alongside the search results.
* 국민대학교 빅데이터 분석학회 D&A Session에서 진행한 자료입니다. 웹 크롤링에 대한 기본적인 개념과 파이썬과 관련된 소스 코드를 담았습니다.
* 아래는 PPT에 포함된 크롤링 예제 코드입니다. https://drive.google.com/file/d/1ty7JLz8ccicPTrpry4dpkqCGuTclA68M/view?usp=sharing
ChatGPT is a natural language processing technology developed by OpenAI. This model is based on the GPT-3 architecture and can be applied to various language tasks by training on large-scale datasets. When applied to a search engine, ChatGPT enables the implementation of an AI-based conversational system that understands user questions or queries and provides relevant information.
ChatGPT takes user questions as input and generates appropriate responses based on them. Since this model considers the context of previous conversations, it can provide more natural dialogue. Moreover, ChatGPT has been trained on diverse information from the internet, allowing it to provide practical and accurate answers to user questions.
When applying ChatGPT to a search engine, the system searches for relevant information based on the user's search query and uses ChatGPT to generate answers to present along with the search results. To do this, the search engine provides an interface that connects with ChatGPT, allowing the user's questions to be passed to the model and the answers generated by the model to be presented alongside the search results.
넥슨코리아 사내 발표자료로 왓 스튜디오에서 파이썬으로 《야생의 땅: 듀랑고》 서버를 비롯한 여러가지 도구를 만든 경험을 공유합니다.
- 게임서버와 각종 툴, 테스트/빌드/배포 시스템을 만들 때 사용한 재료
- 파이썬 코드 품질 개선, 디버깅, 프로파일링, 최적화
- 파이썬 오픈소스 생태계와 왓 스튜디오가 하는 오픈소스 활동
Introduction to Web Scraping using Python and Beautiful SoupTushar Mittal
These are the slides on the topic Introduction to Web Scraping using the Python 3 programming language. Topics covered are-
What is Web Scraping?
Need of Web Scraping
Real Life used cases .
Workflow and Libraries used.
2018년 6월 24일 "백수들의 Conference"에서 발표한 개발자를 위한 (블로그) 글쓰기 intro입니다
좋은 글을 많이 보는 노하우 + 꾸준히 글을 작성하는 노하우에 대해 주로 이야기했습니다! (어떻게 글을 작성하는가는 없어요!)
피드백은 언제나 환영합니다 :)
한빛데브그라운드에서 발표했던 내용입니다.
발표 영상 : https://youtu.be/ohpfSLf0V3Y
--
스타트업 비즈니스에서 데이터를 활용한 전략 수립과 의사결정은 필수적인 요소입니다. 서비스 운영 데이터에서부터 다양한 고객의 행동 로그, 소셜 미디어 데이터까지 다양한 데이터를 모두 모아 분석 환경을 구축하기 위해서는 많은 준비와 고민이 필요합니다. 스타트업에서 빠른 속도와 최소한의 비용, 다양한 분석 Tool들과 연동되는 Data Pipeline, Data Lake, Data Warehouse 구축 경험기를 공유하고자 합니다. 이 과정을 통해 애널리틱스 파이프라인을 구축 과정과 S3, Glue, Athena,EMR, Quicksight와 같은 서버리스 애널리틱스 서비스에 대한 구축 사례를 확인하실 수 있습니다.
오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA) Yongho Ha
http://ga.yonghosee.com 에서 진행하는 구글 어날리틱스(google analytics) 에 대한 강의 슬라이드 입니다. 이 슬라이드는 샘플이지만, 초반부는 실재 강의 교재 그대로 입니다. 이것 자체로도 여러분이 GA를 이해하는데 좀 도움이 된다면 기쁘겠습니다^^ 감사합니다.
Warum man kritisch bezüglich der Datenqualität der Google Search Console Daten sein sollte und wie man an die richtigen GSC-Daten kommt, war Thema dieses Vortrages auf der SMX 2017. Ein Vortrag von Jens Fauldrath.
넥슨코리아 사내 발표자료로 왓 스튜디오에서 파이썬으로 《야생의 땅: 듀랑고》 서버를 비롯한 여러가지 도구를 만든 경험을 공유합니다.
- 게임서버와 각종 툴, 테스트/빌드/배포 시스템을 만들 때 사용한 재료
- 파이썬 코드 품질 개선, 디버깅, 프로파일링, 최적화
- 파이썬 오픈소스 생태계와 왓 스튜디오가 하는 오픈소스 활동
Introduction to Web Scraping using Python and Beautiful SoupTushar Mittal
These are the slides on the topic Introduction to Web Scraping using the Python 3 programming language. Topics covered are-
What is Web Scraping?
Need of Web Scraping
Real Life used cases .
Workflow and Libraries used.
2018년 6월 24일 "백수들의 Conference"에서 발표한 개발자를 위한 (블로그) 글쓰기 intro입니다
좋은 글을 많이 보는 노하우 + 꾸준히 글을 작성하는 노하우에 대해 주로 이야기했습니다! (어떻게 글을 작성하는가는 없어요!)
피드백은 언제나 환영합니다 :)
한빛데브그라운드에서 발표했던 내용입니다.
발표 영상 : https://youtu.be/ohpfSLf0V3Y
--
스타트업 비즈니스에서 데이터를 활용한 전략 수립과 의사결정은 필수적인 요소입니다. 서비스 운영 데이터에서부터 다양한 고객의 행동 로그, 소셜 미디어 데이터까지 다양한 데이터를 모두 모아 분석 환경을 구축하기 위해서는 많은 준비와 고민이 필요합니다. 스타트업에서 빠른 속도와 최소한의 비용, 다양한 분석 Tool들과 연동되는 Data Pipeline, Data Lake, Data Warehouse 구축 경험기를 공유하고자 합니다. 이 과정을 통해 애널리틱스 파이프라인을 구축 과정과 S3, Glue, Athena,EMR, Quicksight와 같은 서버리스 애널리틱스 서비스에 대한 구축 사례를 확인하실 수 있습니다.
오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA) Yongho Ha
http://ga.yonghosee.com 에서 진행하는 구글 어날리틱스(google analytics) 에 대한 강의 슬라이드 입니다. 이 슬라이드는 샘플이지만, 초반부는 실재 강의 교재 그대로 입니다. 이것 자체로도 여러분이 GA를 이해하는데 좀 도움이 된다면 기쁘겠습니다^^ 감사합니다.
Warum man kritisch bezüglich der Datenqualität der Google Search Console Daten sein sollte und wie man an die richtigen GSC-Daten kommt, war Thema dieses Vortrages auf der SMX 2017. Ein Vortrag von Jens Fauldrath.
빅데이터, 데이터마이닝, 공공데이터, 오픈데이터 - 그 어느때보다 데이터 분석 및 활용이 중요해진 이 시기에 웹 상의 수많은 공개된 자료를 직접 수집할 수 있는 웹 스크래핑/크롤링 기술은 데이터 수집 및 활용 능력에 큰 도움이 됩니다.
이 강의에서는 크롤링 프레임웍을 사용하지 않고 HTTP, DOM, concurrency를 담당하는 기본적인 라이브러리만을 사용해 직접 웹 스크래퍼를 처음부터(from scratch) 작성해 봄으로써, 언제든 자유도 높은 동시성 크롤러를 직접 구현할 수 있도록 작동 원리를 이해할 수 있도록 합니다.
시연에서 작성된 전체 소스코드는 아래 링크에서 보실 수 있습니다.
https://gist.github.com/cornchz/0ec0c3f5ca69bac2b625
[ppt 발표팁] 저널에 논문을 출판하는 것뿐만 아니라, 연구 발표에 자주 사용되는 형태는 그래프나 수치를 사용하는 구두 발표인데, 대개 회담 및 과학관련 회의와 기금모금 행사와 부서별 평가, 아니면 다루는 주제를 알려줄 때에 이용됩니다.
요즘의 구두발표는 발표자가 분필이나 마커를 이용해서 칠판/화이트보드나 도표에 표시를 하거나 하지 않습니다. 35mm오버헤드 프로젝터용 슬라이드를 사용하거나 직접 컴퓨터 스크린을 이용합니다. 35mm 나 스크린용 슬라이드를 만드는데 사용된 가장 일반적인 소프트웨어는 Microsoft PowerPoint 와 Harvard Graphics 입니다.
청중이 발표에 집중하기 위해선, 시각적으로 눈에 띄고, 읽고 이해하기 쉽고, 발표자가 청중에게 메시지를 전달하는데 효과적인 슬라이드를 만들어야 합니다. 에디티지에서 발표용 슬라이드에 대한 10 가지 도움말을 통해 효과적인 슬라이드를 만들고, 슬라이드를 준비할 때 생길 수 있는 실수를 조금이나마 줄일 수 있도록 안내해드리겠습니다.
※이 슬라이드는 발표용이 아닌 자료용으로 구성된 것이오니 참고부탁드립니다.
Basic of web ref.웹을지탱하는기술_01
1. 웹 이전의 인터넷 : 전자메일, FTP, Telnet, Gopher
2. 팀버너스리에 의해 웹이 탄생, Mosaic 브라우저를 통해 사용자 증가
3. 표준화의 필요성 > IETF, W3C등
4. SOAP vs REST 분쟁
오픈스택 커뮤니티 - 제1회 공개 SW 커뮤니티데이 (2017년 9월 정기 세미나 대체)
- 일시: 9월 22일 금요일
- 발표자: 장태희 (운영진, 스터디 매니저)
- 행사 정보: https://www.facebook.com/groups/openstack.kr/permalink/1826976907316452/
2. 다루는 내용
1. 웹 크롤링
웹 크롤링 이란?
크롤링은 어디에 쓰일까
2. Web의 이해
Web page
서버와 클라이언트
웹 페이지가 우리 눈에 보이기까지
HTTP
Python으로 HTTP request 보내기
3. 파싱 (parsing)
re
BeautifulSoup
4. How to make 크롤러
크롤링하는 여러가지 방법
Selenium
requests
scrapy
1
2
3
4
11. 웹 페이지가 우리 눈에 보이기 까지
1. 클라이언트가 서버에게 contents를 요청한다.
2. 서버는 요청 받은 contents를 클라이언트에게 건네준다.
3. 브라우저는 서버에게 받은 HTML을 해석하여 화면에 보여준다.
요청
응답
해석
12. HTTP Hyper Text Transfer Protocol
• 서버와 클라이언트 사이에서 정보를 주고 받기 위한 규약
• 시작줄, 헤더(Header), 본문(Body) 으로 이루어져 있음
• 9개의 메소드가 존재하지만 주로 GET과 POST만 쓰인다.
13. GET POST
• Body에 query data가 들어간다.
• 링크 / 북마크가 불가능하다.
• 데이터 길이에 제한이 없다.
• URL을 가지지 않으므로 주로 중요한 데이
터를 다룰 때 사용한다.
• Body 없이 Header만으로 전송된다.
• 링크 / 북마크 가 가능하다.
• 요청에 길이 제한이 있다.
• URL의 ? 뒤에 쿼리 문자열이 올 수 있다.
• 쿼리 문자열은 key와 value를 가지고 있
으며, 각 쿼리는 & 로 구분한다.
/test/demo_form.php?name1=value1&name2=value2
14.
15. Python 으로 HTTP request 보내기
• urllib
Python built-in module
간편하게 HTTP request를 보낼 수 있음
로그인 및 세션을 유지하기가 번거로움
• mechanize
urllib 기반
세션을 유지하기가 용이함
간편하게 html form을 채우고 submit을 보낼 수 있음
Python2 만 지원
• requests
간편하게 HTTP request를 보낼 수 있음
세션을 유지하기가 용이함
python2 / python3 완벽 지원
코드가 간결하고 documentation이 잘 되어 있음
19. 정규표현식 regular expression
• 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용
• Python 에서는 re라는 이름의 built-in module 이 존재
문자 클래스 설명
d 숫자와 매치 ; [0-9]
w 문자 + 숫자와 매치
. n를 제외한 모든 문자와 매치
+ (반복) + 바로 앞에 있는 문자가 1번 이상 반복됨
* (반복) * 바로 앞에 있는 문자가 0번 이상 반복됨
자주 사용되는 정규식
24. How to make 크롤러
1. 브라우저를 조종하여 데이터를 얻는 방법
• Selenium
• 브라우저를 직접 띄우기 때문에 css나 image와 같이 구지 필요 없는
데이터도 다운로드 받게 됨 -> 속도가 느리다.
• 동적 페이지도 크롤링이 가능하다. (javascript 실행 가능)
2. HTTP request를 날려서 데이터를 얻는 방법
• requests, scrapy
• 속도가 빠르다.
• Javascript 실행이 불가능함 -> Web page에 대한 사전 분석이 필요하
다.
25. Selenium
• 웹 브라우저 자동화 tool
• Java, C#, Perl , PHP, Python , Ruby 등 다양한 언어 지원
• 직접 브라우저를 실행하여 python code로 mouse click,
keyboard input 등의 event를 발생시킴
• 실제 브라우저로 실행한 것과 동일한 값을 얻을 수 있음
• 엄청 느림
26. Scrapy
• 링크를 타고 다른 페이지로 이동하며 scraping 하는 web spider
제작에 용이
• Django 처럼 프로젝트를 생성하면 기본 템플릿을 생성해줌
• 이 역시 documentation이 굉장히 잘 되어 있다.
https://docs.scrapy.org/en/latest/
scrapy startproject 프로젝트명