はてなブログの過去記事500件取得するよ

phpなんて何年ぶりに触るのか・・・そう、あの頃は、まだ、wordpressの日本語が分離してて・・・(昔話)
というわけで先日書いた「ツイート用過去記事のタイトルとURLの一覧出力 – スナックelve 本店」のphp版です。
環境作るの面倒でサーバーでデバッグしちゃった★←マネしないでください。
はてなブログの過去ログ取得するよ
f:id:elve:20200302004513p:plain
こちらに接頭語、URLを入れると500件取得できます★
f:id:elve:20200302004551p:plain

なーにやりたいことはもうわかってるから余裕余裕・・・と思ったら・・・大変でした・・・。

<?php
$head=  $_POST["head"];
$url = $_POST["url"] ;
$outputText = '';
$p = 1;
$l = 0;
while ('true') {
$readPage = $url . "archive?page=" . (string)$p;
#URL取得
try {
$f = file_get_contents($readPage);
} catch (Exception $e) {
break;
}
$dom = new DOMDocument;
$dom->loadHTML(mb_convert_encoding($f, 'HTML-ENTITIES', 'UTF-8') );
if ($dom==false){break;}
$xpath = new DOMXPath($dom);
$H1_nodes = $xpath->query('//a[@class="entry-title-link"]');
$oldL=$l;
foreach ($H1_nodes as $node) {
if($l >= 500){break;}
$outputText = $outputText . $head ." ". $node->nodeValue ." ". $node->getAttribute("href") . "</br>\n";
$l++;
}
if($oldL==$l){break;}
if($l >= 500){break;}
$p = $p + 1;
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>はてなブログの過去ログ取得したよ</title>
</head>
<body>
<?php  echo $outputText; ?>
</body>
</html>

というわけで、これに値を渡すフォームは

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>はてなブログの過去ログ取得するよ</title>
</head>
<body>
<form method="POST" action="HatenaAllPostList.php">
<label>最初に追加する言葉</label>
<input type="text" name="head" /><br />
<label>はてなブログのURL</label>
<input type="text" name="url" />
<input type="submit" value="送信" />
</form>
</body>
</html>

なーんも値チェックしてないからイジメないでください(;´Д`)
アクセス数があれだったら消すっすw

どのくらい面白かった?

星を押して送信してね

平均 0 / 5. Vote count: 0

是非フォローしてください

最新の情報をお伝えします

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です