【Python】ALISの検索データを表示してみよう!


リンク:

アリスブログ「ALISのAPI」を使用する方法まとめ > 当記事


◆ 【Python】ALISの検索データを表示してみよう!

『ALISのAPIのドキュメント』を利用する方法」まで理解したら、ALISのAPIで色々な事ができるようになるのですが、

「日本語の送信」を直接行うとエラーが起きるというトラップがあるので、ここでは、「検索データの取得」を例にしながら、日本語の送信方法を説明していきます。



◆ 検索結果を2件取得するプログラム

import urllib.request
import urllib.parse
import json
import pprint


search_name1 = 'SEO対策' # 検索したい名前をここに入れる

search_name1 = urllib.parse.quote(search_name1)


url_name1 = 'https://alis.to/api/search/articles?query=' + search_name1 + '&limit=2'

cm_data1 = urllib.request.urlopen(url_name1)

article_box1 = json.loads(cm_data1.read().decode("utf-8"))

pprint.pprint(article_box1)


input('Enterキーで終了')

(「ALISのAPIを読み込むプログラムの説明」から、追加や修正が行われた文を太字にしています)


○ 更新されたコードの説明

import urllib.parse

今回のプログラムでは、「URLエンコード」というのを行えるようにしておきたいので、それに必要なモジュールを読み込んでおきます。


search_name1 = 'SEO対策' # 検索したい名前をここに入れる

検索したいワードを入力。


search_name1 = urllib.parse.quote(search_name1)

検索したいワードに「URLエンコード(パーセントエンコーディング)」を行います。


英数字だけで構成された検索ワードの場合は、URL内に入れても特に問題はないのですが、日本語を直接入れるとエラーが発生するので、URLエンコードされた文字に変換しておく必要があります。


url_name1 = 'https://alis.to/api/search/articles?query=' + search_name1 + '&limit=2'

「+」を用いた、str型の文字の連結です。

これによって、プログラム実行中は、

url_name1 = 'https://alis.to/api/search/articles?query=SEO%E5%AF%BE%E7%AD%96&limit=2'

に変換されます。

(「%E5%AF%BE%E7%AD%96」=「対策」をURLエンコードしたもの)


pprint.pprint(article_box1)

新着記事を獲得するプログラムでは、「article_box1['Items']」になっていましたが、検索結果のJSONデータには「['Items']の要素」が含まれていないので、「article_box1」のみになっています。

(「article_box1['Items']」の状態で実行すると、エラーが発生します)


○ 実行結果

body(記事の本文)以外の情報を獲得することができました。



「『ALISのAPI』を使用する方法まとめ」に戻る




◆ 「ゆうき」のツイッター


公開日:2018/09/09
獲得ALIS:16.51
ゆうき / アリスブロガー's icon'
  • ゆうき / アリスブロガー
  • @yuuki
ALISブロガーです。スキル:SEO対策、ライティング、プログラム等。ALISでは「記事制作のアドバイス」や「情報提供」などを行っています。よろしくお願いします。Twitter yuuki_tw1
コメントする
コメントする