試しに、はなこさんのページを読んでみた。

orz

はなこさんのページは、

  1. フレーム(Hyou0.aspx)にアクセスすると
  2. クッキーに花粉情報がセットされ
  3. 花粉情報(Hyou2.aspx)で表示される

という動きなので、いきなりHyou2.aspxに取りに行ってもダメ...
対策は以下が考えられる

  • cookieを有効にする→無理みたい
  • はなこさんモジュールを使ってxmlcsvjsonなどに吐いたのを読む→悔しいでも感じちゃう 怒られそう
  • 他のページで試す->めんどくs(ry 現実的か

kaibadash2009-03-12

とりあえず、お外の情報読み込んでみよう。
WebOS Goodies様がとてもわかりやすい!

てきとーなテキストを返すcgiを書いたので、読めるかな!?
よかったら適度にご利用ください。
http://pokosho.com/cgi-bin/randtext/randtext.cgi

お外のコンテンツを取ってくるには、以下が便利。

  • _IG_FetchContent(url, func)
  • _IG_FetchXmlContent(url, func)
  • _IG_FetchFeedAsJSON(url, func, num_entries, get_summaries)

funcはコールバック関数で、引数に取得した内容が返ってくる。
イカス。

この例はよくありません! document.writeよりinnerHTMLを使った方がいいみたい。

<?xml version="1.0" encoding="UTF-8" ?> 
<Module>
  <ModulePrefs title="randtext" /> 
  <Content type="html">
     <![CDATA[

<p>Hello! This is Kaiba.</p>

<script type="text/javascript">
function printRandText(content)
{
  document.write("result:");
  document.write(content);
}
_IG_FetchContent('http://pokosho.com/cgi-bin/randtext/randtext.cgi', printRandText);
</script>

     ]]>
  </Content> 
</Module>


できた! 犬も思うことがあるのです。
キャッシュが効いちゃってて変わらないな…。
あと、「Hello! This is Kaiba.」が出ていないけど、何だろうな?
まぁ、ここは今、力を注ぐべきところではないので華麗にスルーします。

ソース見させて貰いました。
表()から取っているんですね。
非常に美しいコードだと思いました。
ダメプログラマの僕がこの速さでざっと読めることが何よりの証明でしょう。
Web::Scraperなんてのあるんだー。
僕ならガリガリコード書いてすごい時間を費やしていたなぁ…。
そして今ガリガリしようとしてるんだよなぁ…。

Uhm...
postしてCSV取ってるのかと期待していたのですが、残念。

やっぱりこうするしかないのかなぁ…。
これってページのデザイン(html)が変更になったら使えなくなっちゃうんだよなー('A`)

だから、xmljsonで頼むと何度言ったら...

ぬおっ

kaibadash2009-03-04

花粉の飛散量を取得する Perlモジュール

ぬおっ! 僕がシルクエビス飲んでる間に…!
負けてられん!

どうやってデータ取ってるんだろう?
うまくcsvが取れたのかな?
それともhtmlをパースしているのかな?

よーし ソースみちゃうぞ。