본문 바로가기

html

구글독스(google docs)를 이용해 주식 실시간 데이터를 가져오기. 이번에는 국내 포털에서 제공하는 실시간 주식 시세 정보를 구글독스(Google Docs)를 이용해서 가져오는 방법을 알아보려고 합니다. 구글 파이낸스나 야후 파이낸스는 자체적으로 정보를 제공하는 API를 제공하지만, 한국 정보는 미흡한 점이 많은게 사실입니다. 그리고 프로그래밍으로 관련 데이터를 긁어 올 때 자주 활용할 수 있어 유용하지만, 데이터 자체가 지연 제공되기에 아쉬운 점이 있다고 할 수 있습니다. 마이크로 소프트의 엑셀이나 구글의 스프레드 시트에서는 웹상의 데이터를 가지고 올 수 있는 함수를 제공하고 있습니다. IMPORTHTML 을 사용하기도 하고 때로는 IMPORTDATA라는 함수를 사용하기도 합니다. 백문이 불여일견이죠 아래와 같이 이미지를 통해서 보시면 무슨 얘기인지 금방 체감하실 수 .. 더보기
Web Crawler 010 - Gather_Links 함수 만들기 이번 시간에는 앞 시간에서 코딩한 부분중 정의하지 못한 gather_links() 부분을 만들어 주도록 하겠습니다. 웹페이지의 url 값을 넣어주면 해당 페이지에서 링크를 포함하고 있는 html 값을 찾게 되는데, 여기에서 링크 값만을 추출하게 하여 리스트에 넣어 주어야 그 값으로 링크들의 웹페이지를 다시 크롤링 할 수 있게 됩니다. 우선, 아래와 같이 정의를 해 주었습니다. ▼ 여기에서 하나의 문제가 있는데, 파이썬에서 urlopen 모듈을 사용해서 웹페이지를 연결하면, 인간이 읽을 수 있는 형태의 문자를 받아 오는게 아니라, 컴퓨터(기계)가 이해할 수 있는 바이트(bytes: 0 or 1) 단위로 데이터를 가지고 옵니다. 질문을 주시는 많은 분들이 파이썬으로 크롤링할 때, 내가 지금 무엇을 크롤링하는.. 더보기
Web Crawler 005 - Parsing HTML and Find Links - HTML 파싱 및 링크 찾기. 이번 시간에는 HTML 을 파싱하고 웹페이지에서 링크들을 찾는 것 까지 다루어 보도록 하겠습니다. 우선 HTML을 파싱하기 위해 관련 모듈을 불러오겠습니다. ▼ urllib 에서 parse 도 불러오겠습니다. ▼ 링크를 찾는 클래스를 정의해 주도록 하겠습니다. ▼ 초기화를 아래와 같이 하고 HTMLParser를 종속하게 하였습니다. ▼ 웹페이지에서 tag 를 다루는 함수를 정의하고 찾게 될 tag를 확인할 용도로 print() 하도록 하였습니다. ▼ 에러는 아래와 같이 우선 정의해 주었습니다.▼ 클래스 기초 정의는 끝났습니다. 그럼 이게 어떤 의미인지 알아보도록 하겠습니다. 아래 코드를 보시면 finder 는 LinkFinder() 로부터 생성하였습니다. 그리고 웹페이지에서 찾을 태그가 feed() 안에.. 더보기
[PYTHON 3] Tutorials 25. 웹 크롤러(like Google) 만들기 2 - How to build a web crawler 안녕하세요. 지난 시간에 이어 웹 크롤러 만들기 2번째 시간입니다. 지난 시간에는 BeautifulSoup 를 이용해서 특정 사이트의 글 목록 리스트에서 URL, 제목을 파이썬으로 가지고 오는 방법에 대해 알아 보았습니다. 이번에는 그 연장선상으로 URL, 제목에 해당하는 글의 본문 내용을 가지고 오게 만들어 보겠습니다. 시작하겠습니다. 앞 시간의 코드에서 각 글의 본문 내용을 확인할 수 있도록 하는 함수 get_single_article(item_url) 을 만들어 주었습니다. 물론, 함수명은 원하는 이름으로 정하여도 무방합니다.▼ 앞서 만든 코드에서 지금부터 만들어 줄 함수가 들어가는 위치에서 호출할 수 있도록 함수 호출 부분을 삽입합니다. page += 1 위에 함수 호출 코드를 넣어 주었습니다. .. 더보기
애드센스 - 유동적인 광고 구현을 위한 코드 삽입 방법 애드센스 코드는 애드센스에서 제공해주는 코드를 바로 html에 붙여넣기만 해도 됩니다.그러나 광고 3개를 전부 그대로 붙여넣을 경우 코드 중복의 문제도 있고, 위치를 옮긴다거나, 광고를 삭제하는 등 유동적인 광고 구현에는 어려움이 있습니다.여기서 소개해드릴 이 방법은 현재 제가 사용하고 있으며 다음과 같은 특징을 가지고 있습니다.HTML 구조상 광고가 삽입될 위치에 위치태그만 들어가고, 실제 광고는 나중에 스크립트를 통해 삽입되는 방식.페이지 내 위치와 상관없이 광고 코드가 html에서 모여있다. - 관리의 편리성광고가 표시될 위치를 마음대로 지정할 수 있다.광고의 삭제가 자유롭다.모든 수정이 끝난 다음에 광고가 로딩되기 때문에 정책위반의 위험이 없다.본문 중간에 삽입하는 경우에도 관리가 편리하다.이 방.. 더보기
애드 센스를 티스토리 본문 중간에 삽입하기 본문 내 광고 삽입을 할 경우 수익률이 좋아서 꽤 많은 분들이 본문 내에 광고를 삽입하고 있습니다.가장 초보적인 방법으로 글을 쓸 때 마다 광고 코드를 붙여넣는 방법이 있고,서식에 광고코드를 등록해두어서 불러오시는 분들도 있습니다.그러나 이런 방법들의 단점은 나중에 광고 코드를 수정해야 할 때, 모든 게시물을 일일히 수정해주어야 한다는 점 입니다.그래서 이전에 생각했던 방법이 다음 글이었습니다.[COMPUTER TIP] - 티스토리 본문 중간에 광고 넣기서식에 자바스크립트 문서를 불러오도록 해놓고, 자바스크립트 문서에 광고코드를 삽입해놓는 방식이었습니다.나중에 수정을 할 때는 글마다 일일히 수정할 필요 없이 자바스크립트 문서만 수정해서 다시 업로드하면 모든 게시물에 적용이 되었습니다.그러나 글에는 정책위.. 더보기
[Ruby] Node.js를 이용하여 웹 사이트 데이터 가져오기(web scraping, Phantomjs) 서론우리는 흔히 데이터를 데이터베이스에서 가져온다고 생각한다. 실제 웹사이트를 구축할 때 웹 페이지를 생성하기 위해서 웹 프로그램이 데이터베이스에서 데이터를 조회해서 웹 페이지를 만드는데 요즘은 API 서비스들이 많기 때문에 데이터를 가져오는 것이 데이터베이스에만 국한되지 않고 API를 통해서 가져오기도 한다. 하지만 API를 지원하지 않는 서비스에서 데이터를 가져오는 방법은 없을까? 고민하게 되는 경우도 있다. 예를 들어서, 석사때 학교 기숙사에 지내면서 기숙사 게시판의 공지를 매번 사이트에 들어가서 확인하는 것이 불편하고 또 중요한 공지사항이 있음에도 불구하고 시간이 없어서 웹 사이트를 방문하지 않아서 공지를 놓치는 경우가 많았었다. 그래서 ruby로 웹 사이트의 HTML 코드를 가져와서 분석해서 새.. 더보기