PHP

simplexml_load_fileとアンパサンド

&(アンパサンド)には、何度も悩まされているのですが、またもや!はまりました(--#その顛末記です。

PHPマニュアル@Firefoxの検索バー

オフィシャルのPHPマニュアルを検索する、Firefoxの検索バーをつけてみました。 すぐに見つからず、結構苦労しました。 教えていただき、ありがとうございます。 PHP関数を入力したらすぐにマニュアルの解説ページに飛べたらいいな〜と思って探してみたら有…

String could not be parsed as XMLの対策

String could not be parsed as XMLの原因について、肝心の対策を書いてなかったので書いておきます。

String could not be parsed as XMLの原因

String could not be parsed as XMLと怒られる件について。 対策、間違ってました。 他の可能性を考えることは大事ですね。反省。

画像ファイルの存否を確認して、表示する方法

画像ファイルの存否を確認して、ダウンロードする方法の親戚。 file_existsは、そのサーバで取り扱うことのできるファイルが対象。http接続して、ファイルの存否を確認するなんてことはしてくれません。 そこでその対処法です。

画像ファイルの存否を確認して、ダウンロードする方法

phpは便利ですねぇ……ほんと既存の関数だけでなんとかなっちゃう(^_^;

HTTP_RequestでPOST

先方がPOSTメソッドでないとデータを受け取らない場合があります。 今回はアクセスにcookieが必要なページで、cookieを発行してもらうためには、POSTで一定のデータを送りつける必要があるのでした。はふん。 以下のページがとても具体的でわかりやすいです。

Stringcould not be parsed as XMLと怒られる

String could not be parsed as XML というブラウザ上の表示が私を悩ませます(--# httpヘッダに表示されているのは、400 Bad Requestです。 情報これだけorz HTMLScrapingを使って、よそのhtmlからRSSを生成するステージ、最終章です。

短縮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に変換するとはいっても、自分で構造を分析する…

ヒアドキュメント

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

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を知りました。

最短マッチ

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

ループに挑戦

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