忍者ブログ
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

ひとつ前のエントリ「夜の音楽」で紹介した音盤を、さっそくはやしのブログ音盤検索に引っかかるようにしようと、自前のスパイダリング・スクリプト(ブログから任意の文字列を引っこ抜いて整形し、しかるのちデータベースに登録するもの)を走らせたところ、アマゾンに登録ありの音盤のうち、何と1枚しかデータベース登録ができなくて、しばらくうんうんうなりながらコードを検分していた。

その結果、原因は以下のような何ともおまぬけなものと判明。しかも、いままで気づかなかったあやまりも発見したので、のちのちまた失敗を繰りかえさないためにも、恥をさらしておく。

  • 正規表現の記述ミス
    ブログの記事から音盤のASIN(本で言うとISBNに該当するもの)を抜き出すための正規表現で、"(B[0-9A-X]{9})"と書いてあった。ということは、ASINに"Y"もしくは"Z"が入っているものに関しては「素どおり」ということで、登録枚数がすくなかったのもうなづける。プログラミング能力がどうこうという以前の、ひどいまちがい。

  • 変数名のスペルミス
    これは、はっきり言って最悪のまちがい。というか、何でこんなまちがいがありつつ、いままでそれなりに動いていたのか、ふしぎ。

  • htmlspecialcharsの定数指定忘れ
    いままでアーティスト名をアマゾンWebサーヴィスから取得するさいに、きまってコケるASINがあり、それらASINに該当するアーティスト名を調べてみると、すべてアーティスト名に"'"(シングルクオート)が付くことが判明したので、それを実体参照表現にするためアーティスト名格納変数に"htmlspecialchars"をかましたのだけど、結果は依然として、だめ。煮詰まって、こころみにPHPのmanを見てみると、htmlspecialcharsでシングルクオートも変換するには、第2引数に"ENT_QUOTES"という定数をあたえなければならない、との由。ぜんぜん知らなかった! でも、まあ、これは、上のふたつにくらべれば、軽微と言える(よね?)。



というわけで、修正したコードで音盤データベースを構築しなおし、まあまあ枕を高くして寝られる状態に持っていけました。よかったよかった。

PR
この記事にコメントする
お名前
メールアドレス
URL
コメント
この記事へのトラックバック
この記事にトラックバックする:
カレンダー
03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
最新コメント
最新トラックバック
メール
ブログ作成者(はやし)に直接訴えたいことがある、という場合は、下のアドレスにメールをどうぞ。

thayashi#ucalgary.ca
(#を@に置換してください)

ブログ内検索
Google
WWW を検索 このブログ内を検索

はやしのブログ内で紹介された
 書籍の検索はこちら
 音盤の検索はこちら
ランダムおすすめ
(忍者ブログに引越してから、うまくうごかなくなってしまいました。いつか、直します)
Randombook
このブログで紹介したことのある本をランダム表示。
Randomusic
このブログで紹介したことのある音をランダム表示。
自分がらみのリンク
はやしのブログ書籍一覧
このブログで言及された書籍の一覧。
はやしのブログ音盤一覧
このブログで言及された音盤の一覧。
最近のおすすめ本
最近のおすすめ音

Copyright © [ はやしのブログ ]
No right reserved except those which belong to someone else.
Special Template : 忍者ブログ de テンプレート and ブログアクセスアップ
Special Thanks : 忍者ブログ
Commercial message : [PR]