Tutorial for web-crawling with python
- 간단한 문법
- 자료구조
- 리스트
- 함수
sum(arr)sorted(arr)for i in arr:- 엘레먼트 위치 찾기(i의 인덱스 찾기)
arr.index(i)
- 엘레먼트가 있는지
element in arr
- 함수
- 튜플
tupleor()- 리스트와의 차이
assignment가tuple에는 없다(불가변) // 반면 리스트는 (가변)element의 값을 업데이트 하는 것
- 딕셔너리
key와value- 어떤
key가 있는지의 함수 for사용 가능
- 클래스(빵틀)와 오브젝트(빵)
__init__: 초기화
- 상속
- 공통된 속성의 클래스가 있고, 그 밑에 기능을 추가하고 싶을 때
- package 만들기
- 폴더 만들기
- 클래스 파일 만들기
__init__.py만들어서 패키지 안의 모듈 정의(from package import class)
- 리스트
- 자료구조
- What is difference between web-crawling and web-scraping?
- Web-Crawling
- Dealing with deep and large data-sets
- Web-Scraping
- Retrieving information from any source(웹 포함)
- Web-Crawling
- Ref.
- Web-Scraping
- Web-Crawling
- https://www.digitalocean.com/community/tutorials/how-to-crawl-a-web-page-with-scrapy-and-python-3
- 순서
- Creating Basic Scraper
scrapy module설치pip install scrapy
brickset-scraperpackage 생성scraper.py파일 생성- 코드 작성
- 코드 실행(Scrapy는 own comand line을 갖고 있다.)
scrapy runspider scraper.py- 여기까지 따라했다면, 이 프로그램은 아무 것도 하지 않고 종료될 것이다. 우리가 따로 작업을 명령한 것이 아니기 때문에
- Extracting Data from a Page
- 해당 페이지의
pattern을 찾아 원하는 데이터를 추출한다.parse함수 추가- 해당 페이지를 보면 각각의 name set은
h1 tag에 있다. - 코드를 추가하고 실행해보면
name이라는key의 값이 출력되는 것을 볼 수 있다.
- 해당 페이지를 보면 각각의 name set은
imgpattern을 보면image는src안에 있다.- 소스 추가
- 해당 페이지의
- Crawling Multiple Pages
- 지금까지 한 페이지에서 원하는 데이터를 추출했다. 하지만, 이제 다른 페이지까지 해보자.(scrapying은 특정 소스에서 추출하는 것이고 crawling은 더 확장된 개념)
- 또 패턴을 보자면 페이지 넘김의
atag에는>이 있다.- 코드 추가
- 실행을 해보면 모든 페이지를 다 crawling할 것이다.
- Creating Basic Scraper
- 시장성 및 비전 분석
- 다음에 입각하여 분석한다.
- 수요가 있는가?
- 현대 인간은 웹 검색이 생활화 되어 있다. 그에 따라서 원하는 정보를 찾는 것 또한 능력이자 시간(비용)의 소모이다.
- 예
- 인터넷 최저가 검색
- 항공권
- 각종 물품
- 주식 관련, 특히 가상화폐
- 가상화폐의 경우 수익이 24시간 동안 발생하므로 실시간 정보가 필요된다.
- 인터넷 최저가 검색
- 예
- 현대 인간은 웹 검색이 생활화 되어 있다. 그에 따라서 원하는 정보를 찾는 것 또한 능력이자 시간(비용)의 소모이다.
- 지속 가능성 있는 수익모델인가?
- 필자는 4차 산업혁명의 키워드는
광고, 자세히 말하자면social marketing이라고 생각한다.- social marketing
- 사람들의
interest와behaviour를 분석하여 맞춤 광고를 제공한다. 아니 들이민다. 근데 이게 먹힌다.
- 사람들의
- 이러한 점에서 봤을 때 웹 크롤링의 기술의 깊이에 대해서 생각해 보면 특별히 어떤 기술이 뛰어나다든가 하는
시장장악력에 의구심이 든다.- 이를 가능케하는 기술력이 있다면 가능하지만 누구나 쉽게 할 수 있는 영역이라고 생각하며, 초기자본력이 낮아 시장 진입이 쉽다.
- 결국 빠르게
red ocean이 될 것이라는 주관적인 견해
- 결국 빠르게
- 이를 가능케하는 기술력이 있다면 가능하지만 누구나 쉽게 할 수 있는 영역이라고 생각하며, 초기자본력이 낮아 시장 진입이 쉽다.
- social marketing
- 필자는 4차 산업혁명의 키워드는
- 그렇다면 어떤 비즈니스로 연계될 수 있을까?
- 단순히
crawling의 기능을 강조하는 서비스 개발보다user의접근성을 높여야 한다고 생각한다.- 접근성을 높인다는 것은 유저에게 맞는 애플리케이션의 형태로 연계되어 개발이 되어야 한다.
- 예
- 주식/코인 투자용
- 수강신청 전용
- 항공권 좌석 예매 전용
- 업로드되는 수많은 음원들에서 트렌디한 음악을 긁어오는 어플리케이션
- 예
- 접근성을 높인다는 것은 유저에게 맞는 애플리케이션의 형태로 연계되어 개발이 되어야 한다.
- 위의 예를 봤을 때, 딱히 큰 수익이 날 수 있는 분야를 모르겠다리......흠,,,
- 단순히
- 결론
crawling은 현대에 필수적인 기술인 것 맞지만, 독자적으로는 빛을 볼 수 없다고 생각한다.- 다양한 분야와 연계되어 기술이 사용될 때 시너지가 생길 것이다.
- 수요가 있는가?
- 다음에 입각하여 분석한다.