masalibの日記

システム開発、運用と猫の写真ブログです

【python3】urlからはてなblogのentry_idを取得する

pythonの備忘録です
はてなblogはapiが公開されていて、そこから取得したり編集したりする事ができます
編集するためにはentryidが必要です

https://blog.hatena.ne.jp/{はてなID}/{ブログID}/atom/entry/{entry_id}

http://developer.hatena.ne.jp/ja/documents/blog/apis/atom
より

apiにURLからentry_idが取る事ができないみたいなので作る事になった

仕様

はてなのブログはarticleタグのidの中を取得する形なります

f:id:masalib:20190324180425j:plain
entry_idの場所

他にあるならすいません

ソース

import requests
import bs4

targeturl = "https://masalib.hatenablog.com/entry/2017/06/07/201821"

targeturl = "https://masalib.hatenablog.jp/entry/2016/02/19/014308"

  
def get_target_uri_id(targeturl):
    res = requests.get(targeturl)
    res.raise_for_status()
    soup = bs4.BeautifulSoup(res.text, "html.parser")
    elems = soup.select('article')
    strid =  soup.article.get("id")
    strid =  strid.replace( "entry-"  , "")    
    return (strid)
  
target_id = get_target_uri_id(targeturl)
print(target_id)  

https://colab.research.google.com/drive/1xi9yc5Goo7vKnn4J9bQlMHwOxP3zOout

実行結果

感想

pythonの場合は、スクレイピングするならBeautifulSoupが便利だった。apiがあればこんな苦労はしないんだけど・・・