[완료]웹페이지 스크랩하는 프로그램 만들고 싶습니다.

mbcls의 이미지

개발 초짜 학부생입니다.
프로그램을 하나 개발하고자 합니다.
인터넷 웹 페이지에서 중요한 내용만 뽑아서 컴퓨터에 저장하는 기능을 구현하고 싶습니다.
예를 들면 Instapaper 나 Read It later, Readerability같은 서비스들은 "Text-Only"라고 해서 주어진 사이트에서 불필요한 내용은 배재한 체 글과 그림만 추출해서 사용자에게 보여주죠. 저는 이러한 기능을 구현하고 싶습니다.
관련 문서를 검색해보니 'java page scraping', 'crawlling', 'xml parsing' 등등의 정보가 뜨네요.
보니 대충 자바 언어와 관련된 기술인 것 같습니다만, 정확히 어떤 개발 언어인지 잘 모르겠습니다.
 
위와 같은 프로그램을 구현하기 위해서는 어떤 언어로 개발해야 하나요?
php? xml? 아니면 그냥 java?
(사실 php, xml 이런 것에 대해 지식이 전무합니다. 학교에서 배운 java가 다인지라...)
어떤 주제로 공부해야 하는 지 알려주시면 고맙겠습니다~~

lacovnk의 이미지

언어는 수단입니다. 알고리즘과 아키텍쳐 설계가 더 중요하지요.

물론 파고 들면 언어 선택이 크리티컬해지지만.. 질문하신 분의 상황을 봤을 때에는 언어 선택보다 알고리즘 측면에 집중하는 것이 좋을 것 같습니다.

그리고 간단한 구현은 보통 java 보다 스크립트 언어들이 "개발속도"가 빠릅니다.

익명 사용자의 이미지

쉘스크립트나 파이썬으로 그냥 하시는게 정신건강상(?) 좋을겁니당.

snowall의 이미지

1. HTML/XML파서로 웹 페이지의 내용을 분리하고
2. "중요한 내용"을 판별하고
3. 판별된 "중요한 내용"만 저장한다.
4. 저장된 중요한 내용을 HTML/XML 등으로 추출하여 사용자에게 보여준다

이정도가 알고리즘이 되겠네요.

개발 언어는 C, Java, C++, Python, PHP, Perl 등 편한거 아무거나 쓰시면 됩니다. 사실은 어셈블리언어로도 개발 가능하긴 해요.

전혀 감이 안 잡힌다면, 이미 구현된 다른 프로그램의 소스나 작동 방식을 분석하세요.

피할 수 있을때 즐겨라! http://melotopia.net/b

mbcls의 이미지

스크립틍 언어는 한번도 접해보지 못한지라 고민스럽네요^^;
다른 기존에 구현된 프로그램들의 소스라고 하셨는데 혹시 어디서 볼 수 있을까요??

snowall의 이미지

http://en.wikipedia.org/wiki/Web_crawler

http://en.wikipedia.org/wiki/Web_scraping

그리고 검색...

가장 처음 본문에서 말했던 검색어들로 검색해서 100개 정도의 문서를 읽으면 대충 감이 올거예요. 안오면 100개 더 읽으세요.

그 다음엔 감이 온 검색어들로 새로 검색해서 100개 정도 더 읽고.

그렇게 반복하면 뭔가 감이 잡힐거예요.

피할 수 있을때 즐겨라! http://melotopia.net/b

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.