アウトプットは唐突に。

inagena something.

Web Scraping -指差し確認の時代

- -

Web scraping

RubyやらPythonやらPerlやらのLLを使っている紳士諸氏は、当然のことながらウェブスクレイピングに精通していること思う。 そんな先達たちにはお耳汚しのことと思うが、スクレイピングの手法について過去を振り返りながら四方山話を繰り広げたい。

なお、スクレイピングとはウェブサイト上から自身の必要とする情報だけを抽出することをいう。

全体としては以下な感じの構成を考えている。

  • 指差し確認
  • 検索と正規表現
  • 巡回と定期実行
  • HTMLパーサー
  • RSSパーサー
  • 自作検索エンジン
  • 自作プロキシ
  • DOM操作とXPath
  • テストとヘッドレスブラウザ

筆不精な自分としては記事数を増やしたいので、それぞれごとにページを割くこととする。

指差し確認の時代

スクレイピングと自動化は切っても切り離せない関係にある。 あの人もこの人も、最初はマウスポインタでの指差し確認から入ってクリック!を経験したはずである。

現物を確認して右クリック!保存!

それがいつしか、プログラムを組み、対象を巡回し、条件に当てはまれば自動的にダウンロードを始めるスパイダーを使うようになる。 目的もちょっとだけ高尚なものになったり、ドキドキを忘れたり、出力を加工して再利用可能にしたりなど、段階を踏むことで成長して行くのだ。

おそらく今ももっともユーザーの多い手法である人力スクレイピングは、とてつもない時間を浪費することで知られている。

  • ブラウザを立ち上げて
  • 検索なりブックマークなりから特定のサイトを表示
  • 必要なデータがあるか目視で確認
  • 自分なりの方法で抽出
  • 自分ルールでデータを保存

これを延々と、自分が満足するまで繰り返すのだ。 みんなが通る道なのだから、もちろん一昔前までは大手IT企業もこれを大まじめにやっていた。ディレクトリ型検索エンジンだ。

Googleが登場するまではこのタイプの検索エンジンが主流で、当時ホームページを作ったりしてた人はYahooへ登録申請を行ったことがあるんじゃないかと思う。 ディレクトリ型検索エンジンはいまでも一定の需要があるし、あとあと記事にする予定の自作検索エンジンを作るならOpen Directory Projectにお世話になったりもする。

外出の時間になったので、とりあえず今日はここまで。

Octpressの使い方

- -

Octpressの使い方について

ほんのちょっと気を抜くとFacebook以外のアウトプットが無くなってしまう。 複数のアウトプットを続けるってのは難しいなぁと再確認したので、意識できている間に記事をいつくか追加したいと思う。

というわけで、備忘録代わりにOctpressの使い方書いておく。

1
rake new_post["how_to_use_octpress"]

上記のコマンドで記事のひな形が生成される。記事名に日本語は使えない。
今回の記事だと以下な感じ。

1
2
3
4
5
6
7
---
layout: post
title: "how_to_use_octpress"
date: 2014-06-18 05:45:45 +0000
comments: true
categories: 
---

ここのtitleを書き換えると日本語タイトルの記事にも出来る。
あとはマークダウン記法で本文を書いたら記事を生成してデプロイ。

1
2
rake generate
rake deploy

投稿前にプレビューするなら以下を叩くとlocalhost:4000でサーバが立ち上がり確認できる。

1
rake preview

以上。

Initial Post

- -

マークダウン記法の練習

1
2
3
4
5
6
7
8
9
10
11
h1
=====

h2
-----

# h1
## h2
### h3
#### h4
##### H5
def code
  puts "インラインコード"
end
1
2
3
def greeting(name)
    puts "Hello #{name}!"
end

  • これくらいわかっていれば
  • どうにかなるかも
  • やっていくうちに
  • 慣れていこう

改行が一行だけだと 続けて表示される

改行が二行だと

段落として処理される

文末にスペースを2つ入れると
改行になる

外部参照リンク
Markdown記法チートシート(redcarpet)