Scribble at 2024-02-08 11:14:19 Last modified: 2024-02-08 20:21:24

添付画像

A search engine in 80 lines of Python

Python を使ったウェブ・クローラーというのは、いまでこそガキの読む本を何冊か書いてる人がいるようだけど、そんなもん20年前からあったんだよね。なんで知ってるかというと、ウェブ・クローラーを安易に使うことを非難している僕自身がかつて使っていたからだ。上のブログ記事では RSS フィードをたどってるみたいだけど、僕が使った Python のクローラーはディレクトリ型の検索サイトで公開されているウェブサイトのリストから URL を拾って、どんどんアクセスできるリンク先から HTML のソースをダウンロードして、その中に記述されている別の URL を抜き出しては、再びアクセスしてソースをダウンロードし・・・という非常に単純なことを繰り返してゆくロボットだ。それを、だいたい何日か勝手に実行させると、大量の HTML ソースとリンク情報が蓄積されるということになる。もちろん、当時は semantic web なんて言葉も知られていない頃だから、そういうコンテンツどうしを脈絡で関連付けるなんていう手法は使っていないので、とにかく機械的にソースからたどれるリンク先を片っ端からたどるということだけど、それなりに大量のデータは集まる。

でも、やっぱりそんなのは完全なる無駄なんだよね。情報というものは、やはりしかるべき目的とか動機とか脈絡に応じて関連するものを見つけたり辿ることで使い物になる。そういう目的や脈絡の想定や設定そのものに錯覚や錯誤や思い込みが入る余地は常にあるわけだけど、デタラメにソースを蓄積していれば中立で公正で偏向がないかと言えば、そういうわけでもないのは明らかだ。だって、それリンクをたどってるんだから、そのウェブ・ページを制作した人間の背景知識や主張によってデータを集める対象が左右されていることに変わりはないからだ。その分量が膨大になれば偏りがなくなるという想定や期待は、実は統計学的に言って、そういう想定や期待こそが非常に危険な思い込みなのである。

  1. もっと新しいノート <<
  2. >> もっと古いノート

冒頭に戻る


※ 以下の SNS 共有ボタンは JavaScript を使っておらず、ボタンを押すまでは SNS サイトと全く通信しません。

Twitter Facebook