見出し画像

【Python】note記事のバックアップ|Webスクレイピング無料作成

移転しました。
【Python】Google検索の結果をスクレイピングでコピペしやすくする方法【簡単】 | ムノログ

Colaboratory環境【ファイル添付有】【記事一覧取得補正版】

note記事のWebスクレイピングとバックアップを自動で行うためのTIPS。Pythonで機械学習やろうよ!【第7回】です。

添付ファイル以外無料。

お世話になっております。
合同会社ムジンケイカクプロ ムジンです。

前回

【Python】note記事のバックアップ|Webスクレイピングツール無料作成|実際のプログラムと使い方説明|Colaboratory

不完全な点|記事の総数取得部分を後で修正しよう

画像1

note公開記事の総数取得用pythonコード

def func_totalCount(url_id):
 import requests
 import json

 #JSONの取得 
 json_res = requests.get('https://note.com/api/v2/creators/' + url_id + '/contents?kind=note&page=1&disabled_pinned=false')
 data = json_res.json()
 print(json.dumps(data, indent=4))

 json_dict = json.dumps(data, indent=4)

 totalCount = data['data']['totalCount']
 print(totalCount)
 return totalCount

スクレイピングを2回回しても良かったが、時間がないので、単純にJSONファイルを呼び出して、総数が格納されているところへアクセス。

note記事URLの作成

def num_kiji(url_id,totalCount): 
 #######自分の記事は何記事#######
 post_math = math.ceil(totalCount/6)

 urllist = []
 df_concat = pd.DataFrame(index=[])

 for i in range(1,post_math):
     url = 'https://note.com/api/v2/creators/' + url_id + '/contents?kind=note&page=' + str(i) + '&disabled_pinned=false'
     urllist.append(url)
 return urllist

これで前回作成したものに組み込んで、再度スクレイピングする。

まとめと注意

url_id = 'mkp_consulting'
print(url_id)

自分のnoteダッシュボードからIDらしきものを入れる。

たまに失敗するが、再度、時間間隔を開けて実行すると成功する。

今回作成コードの全部

あまりいたずらに作動させてしまうと、note側に負荷がかかるかもしれないので、有料にしてあります。

以下ファイルに関してはノークレームノンサポート。
ですが、質問あれば随時コメント欄にて。
※答えるかもしれないです。

ここから先は

109字 / 1ファイル

¥ 100

期間限定 PayPay支払いすると抽選でお得に!

いつもお読みいただき、ありがとうございます。 書くだけでなく読みたいので、コメント欄で記事名入れてもらうと見に行きます。