質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
HTTP

HTTP(Hypertext Transfer Protocol)とはweb上でHTML等のコンテンツを交換するために使われるアプリケーション層の通信プロトコルです。

URL

URL(ユニフォームリソースロケータ)とは、インターネット上のリソース(Webページや電子メールの宛先等)を特定するための形式的な記号の並びの事を言う。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

解決済

1回答

782閲覧

任意のURLがはてなブログの記事か判定する方法

stepney141

総合スコア11

HTTP

HTTP(Hypertext Transfer Protocol)とはweb上でHTML等のコンテンツを交換するために使われるアプリケーション層の通信プロトコルです。

URL

URL(ユニフォームリソースロケータ)とは、インターネット上のリソース(Webページや電子メールの宛先等)を特定するための形式的な記号の並びの事を言う。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

0クリップ

投稿2020/05/13 20:59

編集2020/05/15 05:18

前提・やりたいこと

現在、自分が過去にはてなスターを付けたはてなブログエントリーを全て取得したいと思っています。

はてなスターの履歴閲覧ページ自体は https://s.hatena.ne.jp/[ユーザー名]/stars として公式に用意されているのですが、このページは直近2~3ヶ月前後にはてなスターを押したエントリーしか表示されない仕様であり、これでは「全てのエントリーの情報が欲しい」という要件を満たすことが出来ません。はてな運営にもメールで問い合わせましたが「全エントリーの一覧を取得する手段は提供していない」という回答を得ました。
なお「特定の記事に付いたはてなスターの情報」を取得するAPIは存在するとのことでした。

そのため代案として「ブラウザ閲覧履歴の中からはてなブログのエントリーのみを抽出し、その全てに対し上述のAPIを叩いて自分がはてなスターを付けたか判定する」という愚直な方法を考えています。
しかし、はてなブログでは独自ドメインの利用が可能であるため、URLのみを頼りにはてなブログのエントリーを抽出すると独自ドメインのブログのエントリーが漏れてしまいます。
はてなブログoEmbed APIを利用することも考えているのですが、APIへのアクセス速度やサーバ負荷を考慮すると、これを使って高速に処理するのは難しいのではないかという懸念があります。

質問

任意のURLがはてなブログの記事であるか否かを高速に判定する方法はないものでしょうか?
また、これ以外にどうにかしてはてなスターを付けた全エントリーを取得する方法はないものでしょうか?

懸念していること

もし上述の愚直な方法で行くとすると、ただでさえブラウザの閲覧履歴の件数自体が大量にある以上、明らかにはてなブログではないURLを除去してもなお膨大な量のURLをチェックしなければならないため、作業完了までに莫大な時間が必要になってしまいそうに思います。


解決の糸口程度でも構わないのでご意見をお聞きしたいです。よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

しかし、はてなブログでは独自ドメインの利用が可能であるため、URLのみを頼りにはてなブログのエントリーを抽出すると独自ドメインのブログのエントリーが漏れてしまいます。

ということは、URL から判断できる *.hatenablog.com*.hatenadiary.org は、考慮しなくても良いということですね。

はてなブログのマニュアル はてなブログを独自ドメインで利用する を見ると

はてなブログ Pro で、独自ドメインを使用している場合の IP アドレスは、

13.230.115.161
13.115.18.61

が使われていることがわかります。

URL のホスト名の IP アドレスをしらべて、上記の「はてなブログ Pro」で使われている IP アドレスかどうかを調べたら判断できるのではないでしょうか。

投稿2020/05/13 21:45

CHERRY

総合スコア25171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

stepney141

2020/05/14 19:06

回答ありがとうございます。 独自ドメインでのIPアドレスをチェックするという発想は全く思い浮かばず、大変勉強になります。 非常に効率が良い方法に思われますし、もしこれ以上に効率が良い方法が存在しなければぜひアドバイス頂いた手段を使わせて頂こうと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問