2009-06-01から1ヶ月間の記事一覧

XPのカスタマイズ等々

やっぱり新しい環境の構築は時間かかりますねぇ。 やったことのある環境だったら大抵どこかに記録しているのでそうでもないのですが、新しい環境がここまで時間がかかるとは。 細切れに時間がかかりつつ、3日ほどかかった気がします。もううんざり。 後日の…

疑似デュアルディスプレイ環境を実現するSynergyを使ってみた

もともとIBM ThinkCentre 8086-AGJを購入したのは、Synergyを使うため。 そこで、疑似デュアルディスプレイを実現するSynergyをインストールしてみました。 Macとか別のOSとの組み合わせでもデュアルディスプレイっぽく使えるってのはすごいですよね。 キー…

EASEUS Partition Manager 4.01でパーティーションを分割しようとしてみた

今は無償のパーティション分割ツールがあるんですね! 結構有名らしい。 ▽GUIでパーティションを編集できるフリーソフト「EASEUS Partition Manager」 http://www.forest.impress.co.jp/article/2008/07/11/easeuspm.html 「EASEUS Disk Copy」なんてのもあ…

(中古)ThinkCentre 8086-AGJでSynergy

デュアルディスプレイに対応していないWindows2000環境で実質的にデュアルディスプレイに対応するためには? ビデオカードを増設するのも手ですが、外付けビデオカードを導入することはノートPCでは現実的ではありません。 そこで「Synergy」です!

短縮URLとかリダイレクトとか

前回 http://d.hatena.ne.jp/mitaina/20090624/1245820659 RSSにアンパサンド(&)を書けないという問題で解決法に悩みました。 結局何が筋か私にはわかりませんでした。 したがって不具合かどうかもわかりません。 そのため、先方には修繕依頼というより現象…

&コワイ

今日も今日とてHTMLScrapingのサンプルスクリプトHTMLToFeed.class.phpです。 前々回、元にするデータに"&"が入っていたため、Warningを吐いてしまった問題について書きました。 その時はデータに問題があるから、と決めつけて半角の&を全角の&に変換してし…

閲覧にcookieが必須なページの取得

今日も今日とてHTMLScrapingです。 応用編として、閲覧にcookieが必須なサイトのデータを取得してみます。HTMLScrapingには、pearのHTTP/Requestが同梱されていて、これを使ってデータを取得しています。 HTTP/RequestはCookieに対応しているので、適切にこ…

&でつまづく

特殊記号周りのエスケープはなかなか嫌なものです。 もちろん自分で全てデータを作っている時はルールを決めて気をつければいいわけです。 しかし外部から入手したデータを流用するときにはそういうわけにはいきません。 で、結果としてエラーがでて、原因を…

foreach()と変数のスコープ

今までにも何度か出くわしたWarning。 「Invalid argument supplied for foreach() in 」〜うんたらかんたら。 つまり配列じゃねーんじゃねーの?って話です。

巨大なCSVファイルからRSSを作成

htmlと並行して、CSVでデータを公開しているウェブサイトがあります。 1日2回わざわざ最新情報を追加してくれているので、直接アクセスすることも予定していると思います。 htmlからRSSを作成する場合、途中xmlに変換するとはいっても、自分で構造を分析する…

ヒアドキュメント

ヒアドキュメントなんてどこで使うんだろう、と思っていました。 しかし思いもかけず使うことになりました。

SDM-HS74PB(中古)

今使っているのは、ThinkPad X22という超ロースペックマシンです。 もともと7-8年前にThinkPad i1620を使っていたことにはじまります。その後欲しくなるようなマシンもなくさほどハードなこともしていなかったので、買い換えの機会がありませんでした。そこ…

continueとか文字列比較とか

前回まででHTMLScrapingのサンプルスクリプトHTMLToFeed.class.phpを使ってHTMLをRSSするコツはだいたい押さえた気がします。 出力されるRSSの内容で、不都合なものを修正する作業を引き続きします。

続・HTMLScrapingで苦戦

またまたHTMLScrapingのサンプルスクリプトHTMLToFeed.class.phpです。 1.XMLの操作がうまくできない →配列の添え字が0から始まるのを忘れてた 2.現在の添え字が取得できない →XML操作の際、as $key => $valでは添え字取得できない ここまできて、もう全て把…

HTMLScrapingで苦戦…終了

引き続きHTMLScrapingのサンプルスクリプトHTMLToFeed.class.phpです。 つまづいたところについて振り返ってみます。

マッシュアップツール

HTMLScrapingを理解する努力がつらくなってきました。 そこで思わずグーグル先生に何かいい方法はないですかとお伺いをたてました。

添え字の値@配列中のXML解析

引き続きHTMLScrapingのサンプルスクリプトHTMLToFeed.class.phpです。 少しづつスクレイピングのコツがわかってきた気がします。 htmlからRSSにまでできればこっちのもの!だしね〜 ほんと、HTMLScrapingの作者さんに感謝感謝です。 HTMLToFeed.class.phpの…

dBugって便利

デバッグ用にprint_rより見やすく表示してくれる方法ないかなーと思ってGoogle先生に聞いてみたらありましたありました。 ▽PHP:変数の中身を簡単に表示!PHPのデバッグに便利な「dBug」 (覚書 - My Knowledge Base - FC2ブログ版) http://billyboy.blog81.fc…

pearよ、こんにちは

好きでpearを使おうと思ったわけではありません(泣) HTMLScrapingで使っているため、入り口に立つことになりました。入門以前のレベルだから、というエクスキューズでは逃げられないのです

require_once

require_onceなんて基本的な関数でひっかかるとは思いませんでした。 ▽PHP: mktime - Manual http://jp.php.net/manual/ja/function.require-once.php Unable to accessだの、failed to open stream Unable to accessだのと叱られまくりでしたよ。

HTMLScrapingかhtmlSQLか、それが問題

正規表現ぶんまわしでのスクレイピングは、やっていて鬱々としてきます(試行錯誤が多すぎ)。 一段落したのを機に、ライブラリ等を使って処理をパターン化することにします。

HTMLScrapingで苦戦

正確にはHTMLScrapingのサンプルスクリプトHTMLToFeed.class.phpを紐解く際に苦戦しているのですが。 自分であれこれ書いている時は、知らないことは書くことができないので、わからないことは一つ一つしか出てきません。 したがって一つ一つ理解していけば…

実行時間・処理時間

今書いているスクリプトは、Webブラウザで表示するものではなく、クローンで回すことになると思います。 出力はメールで受け取るつもりです。 そこで、いつの間にか実行時間・処理時間がかかるようになったにもかかわらず、気付かないという事態を避けるため…

条件分岐

発売日のデータで「年」が入っていないものがあります。 つまりMM/DDしかなのですが、処理の都合上、年を1911と決めうち、1911/MM/DDにします。 その上で、 発売日のMM/DDが、情報更新日(pubDate)のMM/DDより大きければ、1911を情報更新日の年に置換。 発売…

htmlSQL

前記事のおとなり日記をみていたところhtmlSQLを知りました。

SQLのエスケープ

取得してきたデータをSQLで叩き込んでたところ、エラー。中身をみたら、「'」が入っていた。 文字列リテラルの終端を「'」で閉じるというルールを考えればエラーは当然。 じゃあ、どうやってエスケープすればいいの?というところがはじまりでした。

最短マッチ

正規表現、難しいなぁ…… 期待通りの動作を一発でしない。 まぁ一度うまくいくとコピペしちゃってるから……つまりそれだけ考えてないってことなんでしょうけど(^^;;)

ループに挑戦

テーブルが元データの場合、rowspanなどで上のカラムと結合している場合があります。 このままではDBに格納する際にどのデータを参照していいかわからなくなるので、正規表現で上の行のカラムのデータを参照して置き換え、上のカラムと結合を解除しなければ…

正規表現大変

file_get_contents()。 こんなのまで関数で用意されているんですね、PHP。

SQLと仲良しに

昔はだいぶ難儀しましたが、phpMyAdminができてからはラクチン。 わからないSQLに触れることもなくなりました。 が、自分で組む場合にはそうはいかないですね。がんばる。