人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Myはてな内にある質問履歴を自分のサイト(ブログ系ではない)に
表示させる方法を教えてください。

レイアウト的には他のことも書いてあるページの一部に表示したいと思っています。

宜しくお願いします。

●質問者: ???
●カテゴリ:はてなの使い方 コンピュータ
✍キーワード:Myはてな サイト レイアウト
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● try100
●10ポイント

http://www.asahi-net.or.jp/~ax2s-kmtn/ref/html/hp7.html

HTML講座(フレーム)

フレームではだめでしょうか。

◎質問者からの返答

フレームの方法ですね。

その方法しかないでしょうか・・・??

質問履歴という紺色の帯から下だけ表示させるには

どのようにすればよいでしょうか?

回答ありがとうございました。


2 ● kaminoitte
●40ポイント

http://www.hatena.ne.jp/user?aof=-1&userid=SumireS:detail]

これでいいかどうかわからないですけど

aof=が回答履歴なので、ここに-(マイナス)の数値を入れると回答履歴が表示されず

質問履歴という紺色の帯から下だけ表示されます。

URLは-1で表示しています。

どうでしょうか?

◎質問者からの返答

回答履歴が表示されないのは大変たすかります。

この質問履歴のページで 質問履歴という紺色の帯から下だけの表示はむずかしいでしょうか?

ポイント支払い・ポイント受け取りの水色の横帯の分を非表示にできれば、万々歳なのですが・・・

回答ありがとうございました。


3 ● TomCat
●150ポイント

http://x68000.q-e-d.net/~68user/net/http-2.html

HTTP クライアントを作ってみよう(2)

Socketモジュールが使えるサーバであれば、

Socketを用いてはてな内のページを読み出すCGIを作って、

ご希望のようなことを実現させることが可能です。


URLでご紹介したページのソースを

ご希望に沿うように改造してみると、

たとえばこんな感じのCGIになります。


---------------------------------------

#!/usr/bin/perl

use Socket;


# 接続先ホスト名

$host = ’www.hatena.ne.jp’;

# 取り込むページ

$page = ’/user?aof=-1&userid=SumireS’;


# プロトコル

$port = getservbyname(’http’, ’tcp’);


# ホスト名をIPアドレスの構造体に変換

$iaddr = inet_aton($host) or die ”$host は存在しないホストです。¥n”;


# ポート番号とIPアドレスを構造体に変換

$sock_addr = pack_sockaddr_in($port, $iaddr);


# ソケット生成

socket(SOCKET, PF_INET, SOCK_STREAM, 0) or die ”ソケットを生成できません。¥n”;


# 接続

connect(SOCKET, $sock_addr) or die ”$host のポート $portに接続できません。¥n”;


# ファイルハンドル SOCKET をバッファリングしない

select(SOCKET); $|=1; select(STDOUT);


# サーバにHTTPリクエストを送る

print SOCKET ”GET $page HTTP/1.0¥r¥n”;

print SOCKET ”¥r¥n”;


# ヘッダ部分を空読み

while (<SOCKET>){

m/^¥r¥n$/ and last;

}


# ページ本体部分を読み込み

$data = ””;

while (<SOCKET>){

$data .= $_;

}


# 文字列を加工

# 取得したデータを<body>を境に分離

($data1, $data2) = split(/<body.*?>/, $data);

$data1 .= ’<body topmargin=”0” leftmargin=”0” marginwidth=”0” marginheight=”0” bgcolor=”#FFFFFF”>’;


# 取得したデータから希望しない部分をカット

$data2 =~ s/<table.+?<¥/table>.*?<table.+?<table.+?<¥/table>.+?<¥/table>.*?(<table.+?)<table.+?<table.+?<table.+?<¥/table>.+?<¥/table>.+?<¥/table>(.*?)<¥/body>.*?$/¥1¥2/si;


# 表示

print ”Content-type: text/html¥n¥n”;

print $data1;


print <<HTML;

ここにページの内容を色々と記述。<br>

のタグもそのまま書けます。<br>

HTML


print $data2; #←ここが質問履歴部分です


print <<HTML;

ここにもページの内容を色々と記述。<br>

タグもそのまま書けます。<br>

HTML


print ”</body></html>”;


# おしまい

exit;


__END__

---------------------------------------


はてなの仕様で ” や ’ や ¥ などが全角になってしまいますので

このままコピペしても動きませんが、

適切に修正していただければ、

ソケットとperlの使えるサーバなら、

これで動きます。


文字列を加工している部分と表示部分を工夫してやれば、

自由な内容とレイアウトでページ作りが可能です。


ただし、質問履歴内で用いられている画像については、

上のCGIが置かれているディレクトリに

imagesという名前のディレクトリを作り、

その中に用意する必要があります。


また、こうして取り込んだ質問履歴の

レイアウトやHTMLのコードには

はてなの著作権が存在しますので、

公開にあたっては、予めサポートに連絡して

許諾を得るようにしてください。


場合によるとサーバ負荷が増大する等の理由で、

他サイトからのデータ読み出しはお断り、

などと言われるかもしれませんので、

そのへんもよく相談してくださいね。

(これらの注意点は、flameなどを使って

読み込もうとする場合も同様です)

◎質問者からの返答

大変ご丁寧なご説明を頂きまして、誠にありがとうございます。

利用サーバーのほうに、Socketモジュールが使えるかどうか問い合わせをしてみました。

(返信待ち中)

この件につきまして後日、TomCat様に作業について何かお尋ねするかもしれませんが、その節は何卒宜しくお願い申し上げます。

(自力で100%作業を完了できないと思います・・・)

回答ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ