はてなRSS 取得時

はてなキーワードのRSSを取得する際にXML_RSSやsimplexml_load_fileでは403となり取得できなくなっています。
そのためアクセス元を偽装して取得します。

require_once 'Zend/Http/Client.php';
require_once 'XML/Unserializer.php';

$url = "http://d.hatena.ne.jp/keywordlist?mode=rss&cname=idol&of=・・・・";

// IE としてアクセス
$client = new Zend_Http_Client($url);
$client->setConfig(array(
'maxredirects' => 5,
'useragent' => 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)',
'timeout' => 10,
));
$response = $client->request();
if (!$response->isSuccessful()) continue;
// RSSを取得
$content = $response->getBody();

// RSSを配列に変換
$Unserializer =& new XML_Unserializer();
$Unserializer->setOption('parseAttributes', TRUE);
$status = $Unserializer->unserialize($content);
if (!$status) continue;
$res_array = $Unserializer->getUnserializedData();
// itemリストを取得
$items = $res_array['item'];

Comment Form

コメントを表示する前に、管理人の承認が必要になることがあります。その場合は、承認されるまでコメントは表示されませんので、ご了承ください。

スタイル用のHTMLタグが使えます

Trackback

Recent entry

Search

Tag Cloud

Page Top