はじめに
図書館で借りた本のログを取りたいなと思い、ブクログに本を自動で登録できないか確かめてみた。
最近さぼりがちだけど、昔からブクログ使ってるので、これができれば、もっと楽にログを残せそう。
コード
こんな感じ。
ログインして、keyword
で検索して一番最初に出てきた結果のid
を取得して本棚にadd
する。
from bs4 import BeautifulSoup
import requests
payload = {
'service':'booklog',
'ref':'',
'account':'xxx',
'password':'yyy',
}
s = requests.Session()
res = s.post('https://booklog.jp/login/login', data=payload)
res.raise_for_status()
# print(res.text)
payload1 = {
# 'keyword': 'AI',
'keyword':'超AI時代の生存戦略 : 「2040年代」シンギュラリティに備える34のリスト \\
大和書房',
'service_id':'1',
'index':'Books',
}
res = s.get('https://booklog.jp/search', params=payload1)
res.raise_for_status()
# print(res.text)
soup = BeautifulSoup(res.text)
book_id = soup.find_all('a',class_='add-item')[0].get('href')
# print(book_id)
payload = {
'_method': 'add'
}
res = s.post('https://booklog.jp' + book_id, data=payload)
res.raise_for_status()
# print(res.text)
いい感じに本棚に登録されたことを確認した。
おわりに
前回、図書館の貸出図書リストを取得できたので、これと繋いで、うまいことやろうと思う。
Python3とBeautifulSoup使って図書館で借りた本をスクレイピング - Qiita
ブクログの利用規約見ると、サーバーに大きな負荷かけなかったら問題なさそう。
責任はおえないけど。
https://booklog.jp/term
第11条(禁止事項)
参考
ブクログ Webやアプリで本棚管理できる/読書好きのためのブックレビューコミュニティ
Requests の使い方 (Python Library) - Qiita
PythonとBeautiful Soupでスクレイピング - Qiita
[Python] BeautifulSoup で Webスクレイピングをしてみる - ゾンビでもわかるPythonプログラミング