Myはてな内にある質問履歴を自分のサイト(ブログ系ではない)に

表示させる方法を教えてください。

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

宜しくお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/12/01 04:44:01
  • 終了:--

回答(3件)

id:try100 No.1

try100回答回数467ベストアンサー獲得回数22005/11/19 00:45:04

ポイント10pt

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

id:SumireS

フレームの方法ですね。

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

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

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

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

2005/11/24 04:57:23
id:kaminoitte No.2

kaminoitte回答回数254ベストアンサー獲得回数02005/11/23 12:19:00

ポイント40pt

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

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

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

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

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

どうでしょうか?

id:SumireS

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

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

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

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

2005/11/24 05:02:09
id:TomCat No.3

TomCat回答回数5402ベストアンサー獲得回数2152005/12/01 07:04:08

ポイント150pt

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などを使って

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

id:SumireS

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

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

(返信待ち中)

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

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

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

2005/12/01 17:22:12

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません