アサブロ記事自動ログ保存用Pythonプログラム2025年10月03日 12:40

 本アサブロで自分が書いた過去記事を検索したくなることがある。
しかし、本ブログの検索はあまり簡単ではないようだ。

 以前は自分でブログ画面をすべてコピペする方法で過去記事のテキスト化を行い検索に利用していたが、コピペ時間と手間が大変だった。

 Pythonをインストールしてあったので、ChatGPTにPythonを使った過去記事のログ保存プログラムを作ってもらった。数回のやり取りで動くプログラムができた。
 なお、本プログラムの利用条件は下記の2点である。
(1)ブログのテキストデータのみ対象とする。
(2)アサブロの記事のレイアウト形式はツールバー 下 本文 上
((2)については、ログ保存時のみこのレイアウトとし、保存後他の形式にしても問題はない。このログ保存の実行時間は10年分(テキストファイルで1.5MB)で30分程度だった。)

以下にChatGPTとのQ&Aで修正を重ねて作成できたPythonプログラムを示す。

なお、下記のプログラムの中で
abcdefg:アサブロのurlの個人名部分
xxxxx:pythonを標準インストールした場合のusers内のフォルダ名
である。

*********************************

import requests
from bs4 import BeautifulSoup
from urllib.parse import urljoin
from datetime import datetime

BASE_URL = "https://abcdefg.asablo.jp/blog/"
OUTPUT_FILE = r"C:\Users\xxxxx\2510AsabloSchsho\asablo_all.txt"

def fetch_page(url):
res = requests.get(url)
res.encoding = "utf-8"
return BeautifulSoup(res.text, "html.parser")

def get_article_links(archive_url):
"""アーカイブページから記事リンクを取得"""
soup = fetch_page(archive_url)
links = []
for a in soup.select("h2.msg-title a"): # ←ここが重要
href = a.get("href")
if href:
full_url = urljoin(archive_url, href)
links.append(full_url)
return links

def scrape_article(url):
"""記事ページから本文抽出"""
s = fetch_page(url)

title_tag = s.select_one("h2.msg-title")
title = title_tag.get_text(strip=True) if title_tag else ""

date_tag = s.select_one("span.msg-date")
date = date_tag.get_text(strip=True) if date_tag else ""

body_tag = s.select_one("div.msg-body div.pos")
body_text = body_tag.get_text("\n", strip=True) if body_tag else ""

return title, date, body_text, url

def main():
articles = []
current_year = datetime.now().year

# 2013年から現在までの年/月を順に処理
for year in range(2013, current_year + 1):
for month in range(1, 13):
archive_url = f"{BASE_URL}{year}/{month:02d}/"
res = requests.get(archive_url)
if res.status_code != 200:
continue # 存在しない月はスキップ

links = get_article_links(archive_url)
for url in links:
title, date, body, link = scrape_article(url)
articles.append(
f"Title: {title}\nDate: {date}\nURL: {link}\nBody:\n{body}\n{'-'*60}\n"
)

with open(OUTPUT_FILE, "w", encoding="utf-8") as f:
f.writelines(articles)

print(f"保存完了: {OUTPUT_FILE}")

if __name__ == "__main__":
main()






このプログラムを実行することで、2510AsabloSchsho内にasablo_all.txtテキストファイルが作成され、2013年からの自分の記事が年月順にテキストデータとして保存される。

内容は
・記事タイトル
・年月日
・リンクurl
・記事本文
である。


以下に本ブログの最新の2記事分のみ結果を示すが、2013のみ変更すれば他の年から現在までの記事のファイルがasablo_all.txtに書き込まれる。


asablo_all.txt例
*************************
   |
   |
Title: 金(キン)の作り方―2025年09月28日 05:25
Date: 2025年09月28日 05:25
URL: https://yokohamashindo.asablo.jp/blog/2025/09/28/9805973
Body:
どんな技術も自然現象をまねたり利用したりしているものである。
金の製造方法も同じである。
現在地球上にある金はどうしてできたのか。
宇宙論テキストによれば、現在の太陽の数世代前の恒星が超新星爆発を起こし、その生成物の一部が金となって地球上に存在している。
超新星とは恒星が核融合した燃え殻である。中心に水素が核融合を繰り返して生じた鉄が集まり周辺は水素で構成されるが、自重でつぶれて大爆発し、鉄以上の重たいウランや金などの重い核種が生成される。その過程は複雑だが、鉄以上の重たい金属核種の生成過程は基本的には核反応で生じた中性子がより重い核種に吸収されてウランなどの重金属となり、それが核分裂反応を生じるというものである。(正確には谷口義明「宇宙の誕生と進化」、放送大学出版会p111などを参照)
太陽ができる前の超新星爆発も同様で軽い水素や重水素は中心に残り、現在の太陽となった。それが今から46億年前のことである。宇宙は138億年前にビッグバンで生成されたことになっているので、太陽以前にも太陽のような恒星が現在の太陽付近にあったことは想像できる。
重いウランや金などはその他の惑星になって太陽系を作ったが、特に地球はこれらの重い金属を大量に含むようである。他の惑星も同じかもしれないが詳しいことは分かっていない。
地球自体も内部構造はよくわかていないが、地殻にウランや金を含むことから、超新星爆発における重い金属類を大量に含んでいることは分かっており、半減期45億年のウラン-238や半減期7億年のウラン-235が残っているのは偶然ではない。地球の熱収支の研究から、地球中心では今も核分裂反応が起こっているという論文があるほどである。
ところで、金の製造方法であるが、以上の超新星爆発過程でも生じた金属核種による中性子吸収とそのβ崩壊(電子を発生して一つ上の元素に変換される)を利用するのが現実的である。ほかにもあるかもしれないが、原子炉では大量の中性子を安く発生できるので利用しやすい。
金の材料は安いタングステンである。金は現在1g約2万円だが、
タングステンは1㎏で約80ドル(1gでは約12円)で1700分の1である。
これに原子炉で発生する大量の中性子を照射すればよい。日本の原子炉は超新星や原爆とは異なり核爆発はしないので、大量の中性子を瞬時に発生することはできないが年単位であればそれなりの中性子を発生することができる。
タングステンは例えば以下の核変換チェーンで金に変換される。
タングステン-184→中性子吸収及びβ崩壊→レニウム-185→中性子吸収及びβ崩壊→オスミウム-186→中性子吸収5回及びβ崩壊→イリジウム191→中性子吸収及びβ崩壊→プラチナ-192→中性子吸収5回及びβ崩壊→金-197
中性子吸収が14回ほど必要だが、プラチナなら9回で済む。
ところで、この金の生成率だが、計算上はどの程度だろうか。実際にモンテカルロ計算で現在の実用化原子炉の中性子レベルで核変換の計算を行うと(計算はほぼ無料だが)、軽水炉の燃料内にタングステンを配置し、中性子で5年間照射した場合、オスミウム-190がタングステン-184の約4.4%に相当する量が生成されることが分かっている。
金-197は上記の核変換スキームから推測してオスミウム-190のさらに4%しか生成されないため、装荷したW-184の約0.2%しか生成されない。
これは金とタングステンと価格差約6%の30倍で経済性が成立しないように見えるが、核変換チェーン途中で金が生成される前にレアアースであるレニウムもタングステンの10%レベルで生成される。また本来金より希少な白金も同レベルで生成される。これらをタングステンから金と同様に分離抽出すれば、経済的にも成立すると考えられる。
即ち、自国で希少金属の市場価格を決められる国になることも夢ではない。
------------------------------------------------------------
Title: 老人と海(現代日本版)―2025年09月30日 07:07
Date: 2025年09月30日 07:07
URL: https://yokohamashindo.asablo.jp/blog/2025/09/10/9802151
Body:
湘南の海を見に行こうと片瀬海岸に行った。
白髪の老人が、砂に置かれたチェアで一人静かに海を見つめていた。
私も年齢だけは立派な後期高齢者だがあのような様にはならない。
興味を持って声をかけた。
彼はシラス漁船を6隻も所有する船主だった。
海上に浮き沈みする数十人のサーファーが波を待っていたが。その遠浅の海の沖で、彼の所有する船の操業を浜辺から見守っている。
シラス漁は水深3m程度の海上で行うとのことだ。
昔はサーファーとのトラブルもあったが、両者間で協定ができ、今は彼らの存在が漁の邪魔になることはない。
問題は海の高温化だ。
近年はシラスは生育が悪いだけでなく、赤い小エビが混ざる。この小エビは味が良くなるという人もいるが、子供たちのアレルゲンになるので、分離する手間もかかるようになった。
彼の孫も小エビの入ったシラスは食べられない。最近の食品に含まれる添加物を沢山食べているのが原因だろう。
彼は言った。
「昔の子供は、平気で地面に落ちた食べ物も拾って食べた。それでいろいろな免疫ができてアレルギーなど珍しかった。今の子にアレルギーは多いのは清潔すぎるからだろう。
温暖化で江の島の磯の海藻がなくなり、アワビや貝もいなくなった。
アメリカのニュースを見ていると温暖化対策に後ろ向きのようだが、トランプも気が変わるかもしれん。日本の政治家も総裁選びで政局をもてあそんでいるような場合ではないのではない。」
ヘミングウェイの時代とは異なり、現代の老漁師は海を見つめながら、環境問題や子供たちの将来のことを考えていたのである。
------------------------------------------------------------
<< 2025/10
01 02 03 04
05 06 07 08 09 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

このブログについて

新道近くに住む山スキー好き。
最近統計論の勉強を始めた。
コロナ感染を統計論で防ぐ方法はないだろうか。
厚労省はもっと詳しいデータを出してもらいたい。

最近のコメント

最近のトラックバック

メッセージ

RSS