본문 바로가기

return

Web Crawler 012 - Domain Name Parsing - 도메인 네임 파싱하기. 안녕하세요. 이번 시간에는 크롤러가 어느 웹사이트를 크롤링 할지를 정해주는 도메인 네임에 대해 알아보고자 합니다. 인터넷은 참으로 광범위한 공간이죠. 만약 이러한 공간을 특별한 조건없이 크롤링하게 한다고 하면 어떻게 될까요? 아마도 내 컴퓨터의 모든 자원은 전세계 인터넷을 뒤지고 다니느라 바빠질 것입니다. 이러한 무한 루프를 방지하기 위해서는 특정한 조건을 주어 이 범위를 만족하는 사이트들만 크롤링 하라고 명령을 내려야 할 것입니다. 그래서 필요한 것이 도메인 네임입니다. 제 블로그를 기준으로 얘기를 하자면, 여기의 주소는 https://creativeworks.tistory.com 입니다. 여기에서 도메인 네임은 tistory.com 이 됩니다. 만약 tistory.com 을 제가 혼자 다 사용하고 있.. 더보기
Web Crawler 004 - Accelerate Crawling by avoiding repetition - 중복을 회피하여 크롤링 속도 개선하기. 이전 시간까지는 기본적으로 어떤 웹 사이트를 크롤링하기 위해서 기초작업을 하였습니다. 프로젝트 생성, 링크를 저장할 파일 만들기, 파일 내용 삭제하기 등등. 이번에는 웹 크롤링을 할 때, 어떤 페이지를 타고 들어간다고 생각해보세요. 거기서 링크를 파일로 저장을 하였는데, 다른 곳에서도 같은 링크를 찾을 경우가 많을 것입니다. 이렇게 서로 중복되는 링크들을 크롤링을 하게 된다면, 시간이 꽤 걸릴 것입니다. 물론 몇 페이지가 안된다면, 체감할 정도는 아닐 것입니다. 그러나 크롤링 할 페이지가 1만 혹은 그 이상이 된다고 한다면, 상당한 시간을 중복된 링크를 크롤링하는데 소요하게 될 것입니다. 그래서 이번에는 이러한 중복 자체를 크롤링 하기 이전에 제거하는 코딩을 해 보려고 합니다. 파이썬에서는 여러개가 중복.. 더보기
[Swift] 027 Functions and Closures - 1 (함수 코딩하기 ) for beginners 함수와 클로저 사용하기(Writing Functions and Closures)이제까지 변수, 상수, 딕셔너리, 배열, 루프 구문, 제어 구문 등 많은 내용을 알아보았습니다. REPL 명령행 인터페이스 및 Xcode의 플레이그라운드 기능을 사용해 간단한 코드를 입력하며 Swift 언어를 조금 알아 보았습니다. 그러나, 지금까지 코드를 몇 개 입력하고 결과를 관찬ㄹ하는 실험 수준에만 머물렀는데, 이제는 코드를 조금 더 체계화할 필요성이 있습니다. 이제부터는 간결하지만, 다시 사용할 수 있는 함수를 사용해 Swift 코드를 좀 더 깔끔하게 정리하고자 합니다. 함수(The Function)학창시절 함수에 대해 공부를 해 본적이 있을겁니다. 기본적으로 함수는 산수식으로 입력을 받아 계산을 수행하고 결과를 제공하.. 더보기
[PYTHON 3] Tutorials 12. Return Value 안녕하세요. 이번시간에는 이전 시간에서 다룬 함수에서 결과값을 어떻게 처리할지 얘기해 보도록 하겠습니다. 앞장에서는 함수를 정의하고 단순히 프린트를 사용하여 그 결과를 나타내도록 하였는데, 이번 시간에는 그 함수에서 다룬 값을 반환(Return)해서 다른 변수에 저장하게 하고 나중에 함수에서 반환받은 값을 담고 있는 변수를 활용할 수 있게 하는데 있습니다. 잘 이해가 안되시면 아래 그림으로 이야기를 이어 가도록 하겠습니다. 우선, 하나의 함수를 선언해 줍니다. 그냥 우스개소리로 데이트 할 수 있는 연령을 단순 계산할 수 있는 함수를 선언해 줍니다. 전달해 줄 인자로는 나이를 넣어주게 하였습니다. 그럼 이 전달받은 my_age로 계산을 하여 girls_age라는 변수에 넣어줍니다. 그리고 그 결과를 반환(.. 더보기
[PYTHON] Python을 이용한 웹사이트 스캐너 만들기 - 6. whois 이제 거의 짧은 여정이 끝이 나갑니다. 이번 시간에는 'whois' 를 파이썬으로 구현해 보겠습니다. 1. whois.py 파일을 만들어 줍니다. 2. 여느때와 마찬가지로 os 를 임포트 해 줍니다. 3. whois 를 얻기 위한 함수를 정의해 줍니다. 4. 명령어에 "whois " + url 이 들어갈수 있도록 변수를 지정합니다. 한가지 주의할 점은 whois 뒤에 공백(스페이스)을 넣어 주어야 합니다. 아니면 whois 와 조사할 타겟 사이트가 붙어버려 명령이 수행 안되니까요. 5. 그렇게 지정한 명령어를 프로세스로 지정. 7. 지정된 프로세서를 result 에 넘겨주면서 string 로 컨버팅해줍니다. 8. 이렇게 컨버팅 된 result 를 리턴하면 끝입니다. 9. 이제 확인! 아래와 같이 프린트를.. 더보기
[PYTHON] Python을 이용한 웹사이트 스캐너 만들기 - 3. IP Address 2편에서 tld(Top Level Domain)을 얻었습니다. 이제는 스캐닝을 할 웹사이트의 ip address 를 얻을 필요가 있습니다. 위와 같이 티스토리의 아이피는 180.70.93.117 이네요. 그렇지만 우리가 원하는 정보는 이 IPv4에 해당하는 숫자만 필요합니다. 즉, 프로그램적으로 앞부분의 'history.com has address ' 이 부분을 날려버리면 됩니다. 혹은 뒷 부부만 선택적으로 받아들이게 하면 됩니다. 1. 아이피를 얻기위해 위와같이 파일을 만들어 줍니다. 2. 위의 터미널에서 보여진대로 특정 정보만 취사선택 하기위해 이번에도 os 를 임포트 해줍니다. 3. 아이피 정보를 얻기 위한 함수를 선언. 4. 위의 터미널에서의 명령을 파이썬으로 프로그램적으로 구동 시키기 위한 방법.. 더보기