pagetaka

写真、PC、ネット、岡山、旅の話題をお届けします

facebook:graphAPI検索の「壁」…。400件超くらいのヒット「結果」のときは、他の切り口もあるのではと…。

PHPをつかい、facebook内をイロイロ検索しています。検索結果に「壁」のようなモノを感じております…。

検索結果がおよそ400件を超えるような場合、他の切り口(=query)を使ったら数が異なることに…というような印象を持っています。

facebookのgraphAPIのsearchでは「place」という項目があります。これをつかい検索してみたら、なかなかやっかいというか面白い結果になることに気づきました。
以下は、検索語とその結果ヒットした数です。

place ヒット数 他と重複
北海道札幌市 99 12
札幌市 432 69
北海道札幌市中央区 151 12
札幌市中央区 485 65

人間の目からだと、一見して結果がおかしいと思ってしまうです。いかがでしょう。「札幌市」のヒット数より「札幌市中央区」のそれが大きい数を示している。「札幌市」「札幌市中央区」の結果が近接しているならなんとなくわかるが、そうでもない…と思う爺…はて?

「place」が何を対象にしているのか。facebookで調べてみたら「Any location information attached to the post.」ということでした。「post」に関係するのだと…。「post」は「All public posts」を指していると…。つまり、たまたま地名を入れた公開型のfb記事をUPしたらヒットする…。

「page」でも同様だったけど、だいたい400件以上のヒット結果があると、実はそれ以上のバックストックがあるのではと想像…。FBはひとくくり600件のアクセス制限があるみたいです。何回か繰り返し作業していると、次に続くURLの核心部分がFBから提供されなくなる…。それ以上のヒット数が予想されるのだが、結果的に阻まれ取得できない…シクシク。

ならば、ということで、上の例のように、似たような地名を適宜切り替えてやってみたら最初の表のようなことになりました。その際、地名はあらかじめ配列にセットし、変数として取り出し、地名を軸に大きなループ、アクセストークンのついたgraphAPIのsearchが小さなループに入っている、ということで、1169件(W含む)は一気に抽出できた…。大ループ使用で600件の壁は突破できるのか…な?

いずれにしろ、FBからちゃんと狙い通りの抽出ができた、という確信が無いのであります…シクシク。そもそも、「札幌市中央区」に関する投稿が500件未満、というのはアリエナクネ?の世界かと…ええ。

重複した数を見ると、大きい数のところへ小さい数の結果が含まれている、ええ、「部分的」に、というような状態だというのは想像に難くありませぬ…。うすぼんやりした爺の脳みそでもわかるです。小さい数の方の結果が大きい方の数に包含されるならわかるのですけど、そうでもない…。

なかなか、facebookのgraphAPI検索は手ごわいな…グスン。出口を見つけなくては…妄想は続く…バタッ~。