サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
今年の「#文学」
blog.yuze.jp
ここ最近というか結構前からhtmlスクレイピングすることが多いのでメモ。 最初はいろいろ試してたんだけど、今使ってるのは2パターン。 ベンチマークとって最速だったからとかじゃなく、単に慣れかも。 このオライリーの本のサンプルコードに含まれているファイル。 http://www.oreilly.co.jp/books/4873111870/download.html 始点と終点書いて直感的に取ってこれる。 $_rawData = getURL($url); $_rawData = mb_convert_encoding($_rawData, "UTF-8", "auto"); $_rawData = cleanString( $_rawData ); $headline = getBlock("<div id=\"headline\">","</div>",$_rawData,false);
何気にGoogleMapsAPI使うの初めてだったりする。 今回「グルーポンなう」作るときに使いました。 単純にAPI叩いてるだけなのでメモ程度に。 前回の記事 【CakePHP】位置情報の取得と、2点間の距離計算のコンポーネントに追加すると便利かも。 というわけで、 App/controllers/components/geo.php class GeoComponent extends Object { public function addr2geo($addr=""){ $url = sprintf("http://maps.google.co.jp/maps/geo?q=%s&output=json&key=%s", urlencode($addr), 'GoogleMapsAPIKEY'); $res = file_get_contents($url); $data = jso
ふとjsonpを使おうと思ったんだけど たぶんぼくのドキュメント読解力が足りないせいで無駄に時間かかった。 忘れないようにメモ。 $.ajax({ type: "GET", url: "http://sample.com/", data: { "param": "hogehoge", }, dataType: "jsonp", jsonp: "callBack", success: function(data) { /* success */ }, complete: function(data) { /* complete */ } }); dataTypeをjsonpにするとjQueryがcallbackパラメータを自動で入れてくれる。 callback=jsonp1234391216435みたいな。 jsonpオプションを付けると↑のcallbackの部分を指定した名前にできる。 サ
よくありそうなこんなかんじのログイン画面。 かんたんログインボタンと、ID/PASS入力するフォーム。 かんたんログインはいろいろありますけど、とりあえず今回は触れません。 キャリアのゲートウェイのIP制限はしましょうってかんじ。 標準のAuthコンポーネントと、ktaiライブラリを使ってます。 UIDが設定してあれば「かんたんログイン」できて、してなければID/PASS入力してUID設定することもできるという機能。 今回はトップページで行う設定です。 Cakeのバージョンは1.3 APP/controllers/top_controller.php class TopController extends AppController { var $name = 'Top'; var $uses = 'User'; var $helpers = array('Ktai','Session',
位置情報取得 位置情報を扱うライブラリはこちらを使いました。 docomoのiエリアデータを利用して土地名も返してくれます。 http://labs.unoh.net/2008/08/phpgeomobilejp_converter.html これをvendors/Geomobilejp/につっこむ。 2点間の緯度経度から直線距離を求める こちらを参考。 http://www.pahoo.org/e-soul/webtech/php02/php02-21-01.shtm 上記のライブラリのデータをそのまま突っ込めるように、ちょっとだけ修正。 計算部分はそのままです。 で、これらをCakePHPのコンポーネントで使いたかったのでまとめました。 <?php App::import('Vendor','Geomobilejp_Mobile', array('file' => 'Geomobile
前回(アメブロのAtomAPIが倒せない)の記事から数カ月。。 アクセス解析見てもやっぱり同じように困ってる人がいるみたい。 というわけで、久しぶりに調べ直した。 前回のソースと違う部分をピックアップ。 やっぱりWSSE認証がポイントでした。これさえ通ればあとはすんなり。 $nonce = sha1(md5(time())); ランダム文字生成だから何でもいいとは思うけど。 $pass_digest = base64_encode(pack('H*', sha1($nonce.$created.strtolower(md5($password))))); ここが全然逆だった。 大文字にするんじゃなくて小文字にする。 あとはgetで記事情報を取得し、その結果からpostするURLをとって記事を投げるみたい。 今回使用したソース。 <?php require_once 'cURL.php';
前回の記事に引き続きAtomAPI用。 PHPとcURL使用。 <?php require_once 'cURL.php'; $atomapi_url = "http://cms.blog.livedoor.com/atom/"; $livedoor_id = "your livedoor id"; /* livedoorID */ $password = "your password"; /* パスワード */ $category = "1"; /* カテゴリ */ $title = "sample"; /* 記事タイトル */ $text = "content"; /* 記事本文 */ $created = date('Y-m-d\TH:i:s\Z'); $nonce = pack('H*', sha1(md5(time()))); $pass_digest = base64_enco
続いてソースとサンプル。 function search(word) { $.ajax({ type: "GET", url: "http://search.twitter.com/search.json", data: { "q": word, "rpp": 10, }, dataType: "jsonp", success: function(data) { $("#result").empty(); $.each(data.results, function(i, item) { $("#result").append($("<li />") .append($("<img />").attr("src", item.profile_image_url)) .append($("<span />").append(item.from_user+':'+item.text)) ); }
前回のlivedoorBlogにAtomAPIで投稿に引き続きアメブロもやっちゃうぜーと思ったらハマった。 同じAtomAPIだしコード同じで行けるだろうと思ったら違うらしい。 いろいろ調べてみるとWSSE認証が独自ぽい。 でもいくら調べても同じように困ってる人はいても、解決してる人が見つからない。。 追記)倒しました!!(2010-02-03) >>こちらの記事へ。 これまで調べてlivedoorBlogと違うと思われる部分がpass_digestの作成部分。 livedoorBlog $pass_digest = base64_encode(pack('H*', sha1($nonce.$created.$password))); アメブロ $pass_digest = base64_encode(pack('H*', sha1($nonce.$created.strtoupper(
XMLRPC::Liteモジュールを利用してPerlでの実装。 package Blogpost; use strict; use XMLRPC::Lite; sub new { my $class = shift; return bless {}, $class; } sub post { my ($self, $send_param) = @_; my $result = $self->_call_rpc("metaWeblog.newPost", $param{'xmlrpc_url'}, $send_param->{'blogid'}, $send_param->{'username'}, $send_param->{'password'}, { 'title' => $send_param->{'title'}, 'description' => $send_param->{'d
このページを最初にブックマークしてみませんか?
『目指せ1級!30代サラリーマンボルダリング日記』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く