본문 바로가기

Tistory

Web Crawler 012 - Domain Name Parsing - 도메인 네임 파싱하기. 안녕하세요. 이번 시간에는 크롤러가 어느 웹사이트를 크롤링 할지를 정해주는 도메인 네임에 대해 알아보고자 합니다. 인터넷은 참으로 광범위한 공간이죠. 만약 이러한 공간을 특별한 조건없이 크롤링하게 한다고 하면 어떻게 될까요? 아마도 내 컴퓨터의 모든 자원은 전세계 인터넷을 뒤지고 다니느라 바빠질 것입니다. 이러한 무한 루프를 방지하기 위해서는 특정한 조건을 주어 이 범위를 만족하는 사이트들만 크롤링 하라고 명령을 내려야 할 것입니다. 그래서 필요한 것이 도메인 네임입니다. 제 블로그를 기준으로 얘기를 하자면, 여기의 주소는 https://creativeworks.tistory.com 입니다. 여기에서 도메인 네임은 tistory.com 이 됩니다. 만약 tistory.com 을 제가 혼자 다 사용하고 있.. 더보기
Web Crawler 011 - Adding Links to Queue - 링크를 웨이팅 리스트에 추가하기. 이번 시간에는 이전 시간에 이어서 웹페이지에서 찾아낸 링크들을 waiting list 에 추가하는 함수를 만들어 보도록 하겠습니다. 어떤 특정 사이트에 있는 전체 웹페이지들을 크롤링하기 위해서 해당 사이트의 홈페이지를 들어가고 거기서 링크를 타고 타고 가서, 해당 사이트의 모든 링크들을 찾을 것입니다. 이렇게 찾아낸 링크 값들을 waiting list 에 넣게 하는 스파이더와 waiting list 에 저장이 된 링크들을 각각 따로 크롤링 할 스파이더들을 만들어야 합니다. 이와 같은 일련의 과정중 전자인 찾은 링크들을 waiting list ( queue) 에 넣어주기 위한 함수를 만들것 입니다. 우선 아래와 같이 찾은 링크를 인자로 받는 함수를 선언해 줍니다. ▼만약 전달 받은 링크의 url 값이 qu.. 더보기
[PYTHON] Python을 이용한 웹사이트 스캐너 만들기 - 2 최상위 레벨 도메인 이름 Top level of Domain 은 가령. 티스토리 같은경우 http://www.tistory.com 이렇게 URL 이 있다고 하면 여기에서는 history.com 이 부분이 top level of domain 에 해당한다. 즉, 프로토콜(http), WWW 은 제외단되는 말이다. 터미널창에서 보다 자세히 확인해 보자. 위와 같이 터미널에서 프로토콜, www을 함께 넣으면 whois 명령어가 인식을 못하니 제대로 넣으라고한다. 그럼 아래처럼 하면 어떻까? 티스토리의 정보가 쫘~~악 뜬다. 음..과금 담당자의 연락처라든지.... ㅎㅎ 자 그럼 이러한 정보를 smooth하게 한방(?)에 해결하기 위해 시작해보자. 1. domain_name.py 파일을 만들어 주고 from tld import get_tl.. 더보기