목록CRAWL (4)
IT is Smart
필요한 정보를 수집하기 위해 크롤링 작업을 수행하다보면 어떤 주소는 웹브라우저에 직접 입력하면 페이지를 확인할 수 있는데 크롤러를 돌리면 HTTP 403 Forbidden 에러를 띄우고 크롤링이 되지 않는 경우를 만날 수 있습니다. 이는 각 사이트마다 비정상적인 접근을 차단하기 위한 조치 때문에 발생하는 현상입니다. 정상적으로 웹브라우저를 통해 접근하면 우리쪽에서 상대방 사이트서버로 HTTP Request메시지를 보내게 되는데 이때 우리쪽의 작업환경에 대한 정보를 보내줍니다. 사이트에서는 이 정보를 이용해서 접속자들의 OS, 브라우저1 종류나 버전 등을 파악해서 대응하게 되는 거죠. 근데 python과 같은 도구를 사용해서 사이트에 접속하게 되는 경우 브라우저를 통해 접속하는 경우와 다른 HTTP Req..
소스부터 보도록 하겠습니다. import requests from bs4 import BeautifulSoup def trade_spider(max_pages): page = 1 while page
앞에서 인터넷 자원에 접근할 수 있도록 해주는 urllib에 대해 알아봤었습니다. (여기참조)urllib는 파이썬에 기본적으로 내장되어 있기 때문에 python을 설치하면 바로 사용할 수 있었습니다. 하지만 urllib패키지는 사용법이 쉽지 않고 간단한 처리에도 꽤 많은 라인의 코딩을 해야 하곤 합니다. 그래서 최근에는 urllib패키지 대신에 requests모듈도 많이 이용되고 있습니다. requests모듈은 별개로 개발된 open source 라이브러리이기 때문에 Python설치 후에 추가로 설치작업을 해줘야 합니다. requests에 대해 좀더 자세히 알고 싶으면 여기를 참조하세요. c:\>pip install requests 위와 같이 pip를 이용해서 간단하게 설치할 수 있습니다.requests..
Bucky Roberts는 thenewboston이라는 온라인 동영상 커뮤니티 설립자입니다. 직접 오픈소스도 진행을 하면서 프로그래밍, 게임개발, 웹디자인 등 다양한 주제로 튜토리얼 비디오를 제작해서 공유하고 있네요. 이번에 스터디해 본 Spider 프로젝트는 파이썬으로 구현한 웹크롤러입니다.웹크롤러는 웹사이트를 자동으로 이동하면서 정보를 수집하는 일종의 자동화 봇(bot)인데요.Roberts가 이 프로젝트에서 구현한 것은 특정사이트 내부의 링크정보를 수집하는 크롤러입니다.. 웹크롤러 구현은 다양한 형태로 구현되고 있습니다. 완성된 프레임워크 수준의 Scrapy를 사용하는 방법도 있고, BeautifulSoap위주로 사용하는 프로젝트도 많지만,Roberts는 urllib모듈과 html.parser만을 사..