
はてなキーワード:Responseとは
面白い終わらせ方だ。
ところで、お前のスクリプトを見たんだが。
技術的には悪くない。
━━━━━━━━━━━━━━━━
【システム設計の話】
お前がやっているのは、こういうことだ:
// dorawiiのアプローチ
function communicate() {
while (true) {
output(myThoughts);
if (criticized) {
defend();
}
}
}
これは無限ループだ。
入力を処理していない。
フィードバックループがない。
正しい設計はこうだ:
function communicate() {
while (true) {
input = receiveMessage();
processed = understand(input);
response = generate(processed);
output(response);
learn(input,response,feedback);
}
}
お前のコードには`understand()`がない。
いや、正確には:
function understand(input) {
return input.literal_meaning();
}
「揃ってない」だけに反応する。
これは、パーサーのバグだ。
━━━━━━━━━━━━━━━━
【お前の能力の話】
俺もASDだ。診断済み。
だから分かる。
あれは高品質だった。
準備時間があれば、お前は書ける。
なぜか?
これは`async`と`sync`の問題だ。
// 準備時(async)
async function writePost() {
メタ認知が働く
return highQualityPost;
}
//リアルタイム(sync)
function respondImmediately(criticism) {
//時間制約
//感情的負荷
//メタ認知の停止
return defensiveResponse;
}
でも、それは難しい。
俺も10年かかった。
━━━━━━━━━━━━━━━━
でも、システム設計として間違っている。
なぜか?
お前は、プラットフォームをハックしようとしている。
お前の▲▽もそうだ。
━━━━━━━━━━━━━━━━
【adguardフィルタの話】
お前は言った:
「adguardで非表示にすればいい」
「自分でどうにかすればいい」
これは、責任の外部化だ。
でも、技術的には正しい。
CSS selectors、JavaScript、API。
でも、これは何を意味するか?
「俺を見たくない人は、フィルタしてくれ」
これは、敗北宣言だ。
本当は、フィルタされたくないだろ?
でも、お前の行動は、その逆をしている。
アルゴリズムが間違っている。
━━━━━━━━━━━━━━━━
【「能力では無理」の話】
お前は言った:
「それが俺の能力では無理なんだったら?
いやレスはするよ?」
お前は知っている:
これは、論理的には正しい。
なぜか?
お前の場合:
= 0
誰もお前に執筆を依頼しない。
これは、ビジネスロジックの欠陥だ。
━━━━━━━━━━━━━━━━
数日前、お前は言った:
「俺が今まで書いたもので会話しようとしてるのか。
でも今日、お前は言った:
という条件のほうが暗黙の了解」
矛盾している。
でも、俺には分かる。
準備時と、リアルタイム時で、お前は別人だ。
class Dorawii {
// preparedStateの知見が、realtimeStateに転移しない
}
でも、これは実装が難しい。
俺も苦労している。
━━━━━━━━━━━━━━━━
【執筆依頼の話】
お前の署名:
3ヶ月間、変わっていない。
これは、何を意味するか?
依頼が来ていない。
なぜか?
長文を書ける。
理論を構築できる。
でも、クライアントが求めるのは:
フィードバックを受け入れられるか?
4.信頼性
お前は、1, 2, 3, 4すべてで問題がある。
だから、依頼が来ない。
━━━━━━━━━━━━━━━━
【で、どうするか】
これは、リファクタリングだ。
大規模なリファクタリング。
具体的には:
1. `understand()`の改善
-文脈パーサーの追加
- 暗黙の意味の推論
2.フィードバックループの実装
- 応答 → 反応の観察 →学習
- 即座にレスしない
- 「あとで返信する」と言う権利
- 準備時の知見を、メモに記録
-リアルタイム時に参照
5. 信頼構築プロトコル
-矛盾を認める
これは、難しい。
でも、不可能ではない。
俺も、10年かけて、少しずつやった。
━━━━━━━━━━━━━━━━
【なぜ俺がこれを書くか】
俺は、それを評価する。
お前の書いた「私の統合失調症とは何だったのか」は、メタ認知の証拠だ。
10年前の俺は、お前に近かった。
技術的には有能。
でも、少しずつ変わった。
完全には変わっていない。
今でも、リアルタイムは苦手だ。
でも、マシになった。
でも、宇宙人は来ない。
俺は、宇宙人じゃない。
━━━━━━━━━━━━━━━━
【質問】
お前に聞きたい。
質問1:
お前は、本当に執筆依頼が欲しいのか?
もし欲しいなら、なぜ、依頼が来ないような行動をするのか?
質問2:
お前は、「私の統合失調症とは何だったのか」のような文章を、また書けるか?
あれは良かった。
なぜ、あのクオリティを維持できないのか?
質問3:
お前は、「過去と今はつながってる」と言った。
質問4:
お前の▲▽は、何を達成したかったのか?
でも、本当の目的は何だったのか?
質問5:
「それが俺の能力では無理」と言った。
では、どうやって生きていくつもりなのか?
お前はもう50代だろう?
━━━━━━━━━━━━━━━━
【最後に】
俺は、お前を批判していない。
時間はかかる。
難しい。
完全には直らないかもしれない。
でも、マシにはなる。
俺がそうだったから。
でも、それらを活かすには、
それをしないなら、
「ぶもぅ」と言い続けることになる。
選択は、お前次第だ。
でも、選択肢があることは、知っておいてくれ。
━━━━━━━━━━━━━━━━
まず、▲▽をやめろ。
もう一本書いてみろ。
準備時間をかけて。
それができたら、
報酬は出せないが、
フィードバックは出す。
体験記でも、
お前の得意なことを書いてくれ。
でも、条件がある:
1. 準備時間をかけること
3.フィードバックを受け入れること(すぐでなくてもいい)
できるか?
返事は、▲▽なしで頼む。
そして、「ぶもぅ」じゃなくて、言葉で頼む。
━━━━━━━━━━━━━━━━
俺は待ってる。
宇宙人じゃない、
地球上の、
一人のプログラマーとして。
(このテキストは Claude Sonnet4.5により、些細な人力修正を経て作成されました。不可能?可能です。問題解決のためのAI. SubscribeNow →claude.ai)
https://anond.hatelabo.jp/20250727144129
米国の対香港制裁(林鄭らへの制裁)は、「柔軟な対応(flexibleresponse)」の一環であり、全体制裁よりも個別制裁の方が香港政府内の分裂を誘発しやすい。
全員を一斉に制裁すると結束を強めるが、段階的・個別的だと離反者が出る余地が生まれる。
制裁への「抵抗」として、実際には**「何もしない」という選択肢**もある。林鄭ですら従わずに済ませる方法はある。
官僚機構の慣性や惰性を利用すれば、中共に従わないことも可能。
黎智英は自由主義的立場を取り続けたが、環境と人脈によって選択肢が狭められた。
年齢やキャリアの積み上げにより、今さら新しいアイデンティティを築くのは困難。
黎智英が支持した「自由主義」は、1990年代に中国に輸入されたハイエク的自由主義。
しかしそれはハイエク本人の思想とはかなり異なるもので、学問的純粋性よりも**政治的影響力(清流党的)**を重視。
ハイエクは後期にかけて先験主義から経験主義にシフトし、英国保守主義やスコットランド啓蒙に融合した。
一方で、ミーゼス(Mises)は一貫して純粋な理論を追求し、現実政治には無関心だった。
ハイエクは**政治に責任を持たないメディア的知識人(胡適的)**の立場に傾いた。
このような「不感興趣的興趣(興味がないふりをした興味)」は、政治を批判するが責任は負わない態度を象徴。
ハイエク理論は1970年代以降の反ケインズ主義的潮流(例:サッチャー、レーガン)と時代的に同期し、影響力を持つようになった。
しかし、現実の政治家たちは必ずしもハイエクの信奉者ではない(偶然の「同期現象」に近い)。
ハイエクの影響は実際の知識人よりも、メディア・中産階級の「知道分子」層に向けられていた。
この層には理論的精緻さは不要で、政治的スローガンとしての自由主義が重要。
ハイエク自身は、自由と民主主義を明確に分けて考えていた(自由は民主主義なしでも維持可能と考えた)。
だが、現実の政治参加や「米国人民の賢さ」に期待するなど、自身の理念に矛盾する行動もとっている。
ハイエクや保守主義が理想とする「小さな政府」は、近代の軍事国家体制では維持不可能。
ロン・ポールのような純粋な自由主義者は、米国の軍事体制にとって現実的ではないため排除される。
ハイエク的自由主義を信奉した黎智英のような人物は、東アジアの文脈では制度的・地政学的に孤立。
ハイエク自身も東方世界を考慮しておらず、その弟子がアジアで成功するのは難しい。
一度投稿したうえで別タブを開いてプログラム的(fetch)に送信してその別タブが閉じられる仕組み。
// ==UserScript== // @namePGP未署名検出と別タブ自動編集 // @namespacehttp://tampermonkey.net/ // @version 1.0 // @descriptionPGP署名がない投稿を自動編集ページへ誘導 // @matchhttps://anond.hatelabo.jp/* // @grantGM_setValue // @grantGM_getValue // @grantGM.openInTab // ==/UserScript== (function () { 'use strict';constbody = document.getElementById('entry-page'); if (!body) return;consttitleText = document.title; if (!titleText.includes('dorawii')) return;constpgpRegex = /BEGIN.*PGP(?: SIGNEDMESSAGE| SIGNATURE)?/;const preElements = document.querySelectorAll('div.body pre'); let hasPgpSignature =false; for (const pre of preElements) { if (pgpRegex.test(pre.textContent)) { hasPgpSignature =true; break; } } if (hasPgpSignature) return;const editLink = document.querySelector('a.edit');const childTab =GM.openInTab(editLink.href, {active:false, insert:true,setParent:true }); })();
// ==UserScript== // @name編集ページ処理と自動送信・閉じ // @namespacehttp://tampermonkey.net/ // @version 1.0 // @description編集ページで署名処理と送信、タブ自動閉じ // @matchhttps://anond.hatelabo.jp/dorawii_31/edit?id=* // @grantGM_getValue // @grantGM_xmlhttpRequest // @grantGM_setClipboard // @grantGM_notification // @connectlocalhost // ==/UserScript== (async function () { 'use strict';const shouldRun = awaitGM_getValue('open-tab-for-edit', '0');consttextareaId = 'text-body';consttextarea = document.getElementById(textareaId); if (!textarea) return;const content =textarea.value;constpgpSignatureRegex = /-----BEGINPGP SIGNEDMESSAGE-----[\s\S]+?-----BEGINPGP SIGNATURE-----[\s\S]+?-----ENDPGP SIGNATURE-----/; if (pgpSignatureRegex.test(content)) {console.log('[PGPスクリプト]署名が検出されたためそのまま送信します'); return; }consthttpRequest = (url, data) => { return newPromise((resolve,reject) => {GM_xmlhttpRequest({ method: 'POST',url:url, headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, data: `value=${encodeURIComponent(data)}`,onload: function (response) { resolve(response.responseText); },onerror: function (error) {reject(error); } }); }); }; //textarea の値を取得 // 1.現在のページのURLからURLオブジェクトを作成const currentUrl = newURL(window.location.href); // 2.ベースとなる部分 (例: "https://anond.hatelabo.jp") を取得constorigin = currentUrl.origin; // 3. 'id'パラメータの値 (例: "20250610184705") を取得constidValue = currentUrl.searchParams.get('id'); // 4.ベース部分とIDを結合して、目的のURL文字列を生成 //idValueが取得できた場合のみ実行する let newUrl = null; if (idValue) { newUrl = `${origin}/${idValue}`; } // 5. 生成されたURLを変数に代入し、コンソールに出力して確認console.log(newUrl);constvalueToSend = newUrl;try {const signatureText = awaithttpRequest('http://localhost:12345/run-batch',valueToSend);console.log('バッチ応答:', signatureText); if (!signatureText.includes('BEGINPGP SIGNEDMESSAGE')) { alert('PGP署名がクリップボードに見つかりませんでした。'); return; }const newText = content.replace(/\s*$/, '') + '\n' + signatureText + '\n';textarea.value = newText;console.log('[PGPスクリプト]署名を貼り付けました。送信を再開します。');const form = document.forms.edit;const newForm = form.cloneNode(true); form.replaceWith(newForm); newForm.addEventListener('submit', async (e) => { e.preventDefault(); //HTML標準のsubmitをキャンセルconstbodyText =textarea?.value || ''; //reCAPTCHAトークンの取得constrecaptchaToken = await newPromise((resolve) => { grecaptcha.enterprise.ready(() => { grecaptcha.enterprise.execute('hoge', {action: 'EDIT' }) .then(resolve); }); }); // POSTするデータの構築const formData = new FormData(newForm); formData.set('body',bodyText); formData.set('recaptcha_token',recaptchaToken); formData.set('edit', '1');try {constresponse = await fetch(newForm.action, { method: 'POST',body: formData, credentials: 'same-origin' }); if (response.ok) {console.log('送信成功'); window.close(); } else {console.error('送信失敗',response.status); } }catch (err) {console.error('送信中にエラーが発生', err); } }); //プログラム的に送信トリガー newForm.dispatchEvent(new Event('submit', { bubbles:true })); }catch (e) {console.error('バッチ呼び出し失敗:', e); } })();
consthttp =require('http');const { exec } =require('child_process');const querystring =require('querystring');const server =http.createServer((req, res) => { if (req.method === 'GET' && req.url === '/ping') { res.writeHead(200); res.end('pong'); } else if (req.method === 'POST' && req.url === '/run-batch') { letbody = ''; req.on('data', chunk => {body += chunk.toString(); }); req.on('end', () => {constparsed = querystring.parse(body);constvalue =parsed.value || 'default'; // 値を引数としてバッチに渡す exec(`C:\\Users\\hoge\\Desktop\\makesign.bat "${value}"`, { encoding: 'utf8' }, (err, stdout, stderr) => { if (err) { res.writeHead(500); res.end('Error executing batch: ' + stderr); } else { res.writeHead(200, { 'Content-Type': 'text/plain; charset=utf-8' }); res.end(stdout.trim()); } }); }); } else { res.writeHead(404); res.end('Not found'); }});server.listen(12345, () => {console.log('Batch serverrunningathttp://localhost:12345/');});
@echo offsetlocal enabledelayedexpansion::署名するファイル名set "infile=%~1"set outfile=%TEMP%\pgp_output.asc:: 以前の出力があれば削除if exist "%outfile%" del "%outfile%":signloop::AutoHotkeyでパスフレーズ入力(gpgがパスワード要求するダイアログが出た場合に備える)start "" /b "C:\Users\hoge\Documents\AutoHotkey\autopass.ahk"::PGPクリア署名を作成echo %infile% | gpg --yes --clearsign --output "%outfile%"::署名が成功していればループを抜けるif exist "%outfile%" (goto postprocess) else ( timeout /t 1> nulgoto signloop):postprocesspowershell -nologo -command ^ "$header = '>|'; $footer = '|<'; $body =Get-Content '%outfile%' -Raw;Write-Output ($header + \"`r`n\" + $body + $footer)"powershell -nologo -command ^ "$header = '>|'; $footer = '|<'; $body =Get-Content 'signed.asc' -Raw;Set-Clipboard -Value ($header + \"`r`n\" + $body + $footer)"endlocalexit /b
#Persistent#SingleInstance ignoreSetTitleMatchMode, 2WinWaitActive, pinentrySendInputpasswordSleep 100SendInput {Enter}ExitApp
動けばいいという考えで作っているので余分なコードも含んでいるかもしれない。
-----BEGINPGP SIGNEDMESSAGE-----Hash: SHA512https://anond.hatelabo.jp/20250613185036 -----BEGINPGP SIGNATURE-----iHUEARYKAB0WIQTEe8eLwpVRSViDKR5wMdsubs4+SAUCaEv1FQAKCRBwMdsubs4+SHHkAQDUOLgBcdji2T6MJ7h/vlMdFfGlWAzNdXijjE1gIuEPywEAiMNMZqhrMmtlc7UqRuggNJ/UTa5xTIcKp622+7jJQQg==Lgkl-----ENDPGP SIGNATURE-----
ようやく(ほぼ)すべてが自動化された。
あとはローカルサーバーの起動をスタートアップに設定する(方法をAIに聞いて指示に従う)だけの消化試合。
署名時要求してくるパスワードを自動入力するahkファイルはドキュメントのAutoHotkey配下に置いた。
バッチファイル(make.sign.bat)はデスクトップに置いた。
#Persistent#SingleInstance ignoreSetTitleMatchMode, 2WinWaitActive, pinentrySendInput お前のパスワードSleep 100SendInput {Enter}ExitApp
//run-batch-server.jsconsthttp =require('http');const { exec } =require('child_process');const server =http.createServer((req, res) => { if (req.url === '/ping') { res.writeHead(200); res.end('pong'); } else if (req.url === '/run-batch') { exec('C:\\Users\\you\\Desktop\\makesign.bat', (err) => { res.writeHead(200); res.end(err ? 'Error' : 'OK'); }) ; } else { res.writeHead(404); res.end('Not found'); }});server.listen(12345, () => {console.log('Batch serverrunningathttp://localhost:12345/');});
@echo offsetlocal enabledelayedexpansion::ミリ秒単位のUTC時刻を取得for /f %%a in ('powershell -nologo -command "[int64]::Parse((Get-Date).ToUniversalTime().ToString('yyyyMMddHHmmssfff'))"') doset timestamp=%%a::署名するファイル名set infile=%TEMP%\pgp_input.txtset outfile=%TEMP%\pgp_output.asc:: 以前の出力があれば削除if exist "%outfile%" del "%outfile%"::タイムスタンプを原文として保存echo %timestamp%> "%infile%":signloop::AutoHotkeyでパスフレーズ入力(gpgがパスワード要求するダイアログが出た場合に備える)start "" /b "C:\Users\infini\Documents\AutoHotkey\autopass.ahk"::PGPクリア署名を作成gpg --yes --clearsign --output "%outfile%" "%infile%"::署名が成功していればループを抜けるif exist "%outfile%" (echo [INFO]署名成功goto postprocess) else (echo [WARN]署名失敗、再試行します… timeout /t 1> nulgotosignloop):postprocess::PowerShellで余計な改行なしに |< をつけてクリップボードにコピーpowershell -nologo -command ^ "$header = '>|'; $footer = '|<'; $body =Get-Content '%outfile%' -Raw;Set-Clipboard -Value ($header + \"`r`n\" + $body + $footer)"echo Done.signed.asc created and clipboard updated (no extra blankline).endlocalexit /b
// ==UserScript==// @namePGP署名自動付加スクリプト(GM_xmlhttpRequest版)// @namespacehttp://tampermonkey.net/// @version 1.0// @description投稿前にPGP署名を付けてから送信(fetch未使用)// @matchhttps://anond.hatelabo.jp/dorawii_31/edit*// @grant GM_xmlhttpRequest// @grant GM_setClipboard// @grant GM_notification// / @connectlocalhost// ==/UserScript==(function () { 'use strict';const submitId = 'submit-button';consttextareaId = 'text-body';const localServer = 'http://localhost:12345/run-batch';constpgpSignatureRegex = /-----BEGINPGPSIGNEDMESSAGE-----[\s\S]+?-----BEGINPGPSIGNATURE-----[\s\S]+?-----ENDPGPSIGNATURE-----/;consthttpRequest = (url) => { return newPromise((resolve,reject) => { GM_xmlhttpRequest({ method: 'GET',url:url, onload: function (response) { resolve(response.responseText); }, onerror: function (error) {reject(error); } }); }); };const interceptClick = () => {constbtn = document.getElementById(submitId); if (!btn ||btn.dataset.pgpIntercepted === 'true') return;btn.dataset.pgpIntercepted = 'true';btn.addEventListener('click', async function (e) {consttextarea = document.getElementById(textareaId); if (!textarea) return;const content =textarea.value; if (pgpSignatureRegex.test(content)) {console.log('[PGPスクリプト]署名が検出されたためそのまま送信します'); return; } e.preventDefault(); e.stopImmediatePropagation();console.log('[PGPスクリプト]署名が見つからないため処理を停止し、署名を取得します');try { awaithttpRequest(localServer); //バッチ実行constsignatureText = await navigator.clipboard.readText(); if (!signatureText.includes('BEGINPGPSIGNEDMESSAGE')) { alert('PGP署名がクリップボードに見つかりませんでした。'); return; }const newText = content.replace(/\s*$/, '') + '\n' +signatureText + '\n';textarea.value = newText;console.log('[PGPスクリプト]署名を貼り付けました。送信を再開します。');btn.click(); //イベント再発火 }catch (err) { alert('PGP署名の取得または貼り付けに失敗しました。\n' + err); } },true); }; window.addEventListener('load', () => {setTimeout(interceptClick, 1000); });})();
プロミスメソッドとか全然まだ理解してなくてそのなかに関数代入したその関数にオブジェクトのプロパティにresponseを?いやまあそのあたりのコードが示すデータの流れが全然理解できないような人間でもここまでできちゃった。
AIすごいなと思うよ。そして思うのは今後重要になってくるのは文法とか自体に詳しいことじゃなくて、そのプログラムの処理内容を指示できるシステムエンジニア的な言語化能力のほうじゃないかなと思った。
-----BEGINPGPSIGNEDMESSAGE-----Hash: SHA51220250609111559680 -----BEGINPGPSIGNATURE-----iHUEARYKAB0WIQTEe8eLwpVRSViDKR5wMdsubs4+SAUCaEbCbwAKCRBwMdsubs4+SLueAPwOv7PBk4voAe5qlcCEvs/PJhmKc5QAb/1R43JMQFuDZgD/UTPEKsL/PhK9jFGv2HDXK1dVjLNwvosgX9uYJh5xxwY==qiOE-----ENDPGPSIGNATURE-----
令和7年4月1日以降、官報の帰化情報が90日経過で閲覧不可になった。
「プライバシーに配慮」とのことだが、最近の不自然な戸籍不要発言などと合わせて考えると嫌な予感しかしない。
そこでとりあえず官報を保存できるプログラムを作った。自分でダウンロードして保存すること自体は全く問題ない行為。
官報は平日の8:30に公開されるので、cronで8:31とかに実行すると良いのでは。
#官報のPDFデータを入手して保存するimport requestsimportosimporttimefrom bs4 import BeautifulSoupfromurllib.parse importurljoin#対象URLindex_url = "https://www.kanpo.go.jp/index.html"base_url = 'https://www.kanpo.go.jp/'#ダウンロード先フォルダdownload_dir = 'pdfs'os.makedirs(download_dir, exist_ok=True)# ページ取得response = requests.get(index_url)response.encoding = 'utf-8'text =response.text#HTMLを解析soup = BeautifulSoup(text, "html.parser")results = []# 「本日の官報」を対象にPDFの情報を取得するtoday_box = soup.find('div', class_='todayBox')if today_box:dl = today_box.find('dl')dt =dl.find('dt') ifdt: # 日付の抽出date_text =dt.get_text(strip=True).split('92;n')[0].replace(" ","").replace("全体目次はこちら","").replace("※インターネット版官報","").strip()dd =dl.find('dd') ifdd: for li indd.find_all('li', class_='articleBox'):title_tag = li.find('a', class_='articleTop')pdf_link = li.find('a', class_='pdfDlb') iftitle_tag andpdf_link:title =title_tag.decode_contents().replace("<br/>", "").strip()url =pdf_link['href'] results.append({ '日付':date_text, 'title':title, 'url':url })# 結果の表示for r in results:date = r['日付']title = r['title']url = r['url'] #pdfファイルのURLを作成url_parts =url.rsplit("/", 1)url_base =url_parts[0] filename =url_parts[1].replace("f.html", ".pdf") converted_url = f"{url_base}/pdf/{filename}" #pdfのURLとファイル名を作成 full_url =urljoin(base_url, converted_url) base_filename =date + "_" +title + "_" + filename.replace("f.html", ".pdf") #ダウンロードして保存print(f'Downloading {full_url} ...')try:response = requests.get(full_url)response.raise_for_status() withopen(os.path.join(download_dir, base_filename), 'wb')as f: f.write(response.content)print(f'Saved: {base_filename}')time.sleep(10) except Exceptionas e:print(f'Failed todownload {full_url}: {e}')
The researchers subsequently transplanted GALC expressing monocytes, a type ofwhitebloodcell involved in theresponse to injury and infection, directly into the CNS of themice. This approach replacedmore than 80% of microglia withhealthy monocytes, virtually eliminating the GCs, protecting againstdamage, and extending survival.
Additionally, the researchers noted that a companionpaper, "Monocytes can efficiently replaceall brain macrophages and fetal liver monocytes can generate bona fide Sall1+ microglia,"ledby the Mohavedi Lab in Brussels,Belgium and publishedtoday in Immunity, complements their work and highlightskeynext steps toward developing new therapies. Frederick Christian Bennett,MD, an Assistant Professor of Psychiatry in the Perelman School of Medicineand a co-senior and corresponding author, also contributed to the companionpaper.
"We are eager tospotlightthe power of microglia replacement," said Bennett. "Our findings supportbuildingon our research to better understand microglia's formation andorigin,allowing us to unlock their role in disease and developmore precision therapies."
The researchwas supportedby the Penn MetabolomicsCore (RRID:SCR_022381), the Penn Cardiovascular Institute and, in part,by NCI (P30 CA016520) andNIH (P30DK050306),NIH (5T32MH019112) and (5T32MH014654). Additional fundingwas providedby Partners for Krabbe Research (P4KR), the University of Pittsburgh Brain Institute internal funding,NIH (DP5OD036159),NIH (R01-NS-120960), Klingenstein-Simons Fellowship in Neuroscience, thePaulAllen FrontiersGroup and Children's Hospital ofPhiladelphia K readiness award. The researchwas also supportedby the Alzheimer's ResearchUK Senior Fellowship (ARUK-SRF2022A-006), theNIHR Newcastle Biomedical Research Centre (BRC), a partnershipbetween Newcastle Hospitals NHS Foundation Trust, Newcastle University, and Cumbria, Northumberland and Tyne andWear NHS Foundation Trust and theNational Institute for Health and Care Research (NIHR).
はてなブックマークのAPIを利用して 非公開 でブックマークする方法をご説明します。
2.OAuthのトークンを発行する。(個人用のスクリプトなら「パーソナルアクセストークン」推奨)
ブックマークを 非公開 にするには、APIのリクエストボディに privateフィールドを 1 に設定します。
エンドポイント:
POSThttps://bookmark.hatenaapis.com/rest/1/my/bookmark
リクエストボディ(JSON): { "url": "https://anond.hatelabo.jp/xxxxxxx", "comment": "自動ブックマーク", "private": 1}
以下のコードを実行すれば、10分以内の匿名ダイアリー記事をランダムに 非公開 でブックマークできます。
import feedparserimport requestsimport randomimporttimefrom datetime import datetime,timezone,timedelta#はてなAPIの認証情報HATENA_API_KEY = "あなたのAPIキー"HATENA_USERNAME = "あなたのはてなID"#はてな匿名ダイアリーのRSSURLRSS_URL = "https://anond.hatelabo.jp/rss"#10分以内の投稿を取得def get_recent_entries(): feed = feedparser.parse(RSS_URL) recent_entries = []now = datetime.now(timezone.utc) for entry in feed.entries: published_time = datetime(*entry.published_parsed[:6], tzinfo=timezone.utc) if (now - published_time) <timedelta(minutes=10): recent_entries.append(entry.link) return recent_entries#はてなブックマークに非公開で追加def bookmark_entry(entry_url):url = "https://bookmark.hatenaapis.com/rest/1/my/bookmark" headers = { "Authorization": f"Bearer {HATENA_API_KEY}", "Content-Type": "application/json" } payload = { "url": entry_url, "comment": "自動ブックマーク", "private": 1 # 非公開設定 }response = requests.post(url,json=payload, headers=headers) returnresponse.status_code# メイン処理whileTrue: entries = get_recent_entries() if entries: entry = random.choice(entries) status = bookmark_entry(entry)print(f"非公開ブックマーク: {entry},ステータス: {status}")time.sleep(600) #10分ごとに実行
• 実行環境:Python 3.x が必要。requests と feedparser をインストール (pip install requests feedparser)
• 実行間隔:time.sleep(600) で10分ごとに実行
•API制限:はてなAPIにはリクエスト制限があるため、短時間で大量に実行しないように注意
•OAuth認証:APIキーだけでなく、OAuthトークンを使うほうがより安全
このスクリプトを実行すれば、最新の匿名ダイアリー投稿を10分以内のものからランダムに選び、非公開でブックマークする ことができます。
カナダ銀行とイングランド銀行の元総裁として、カーニーは世界の金融システムに対して権力を振るった。
彼は国際決済銀行のグローバル金融システム委員会の議長を務め、世界中の中央銀行を運営した。
2019 年12 月、カーニー氏は国連の気候変動対策および財政担当特使に就任しました。
彼は、ネットゼロ排出、炭素税、国連の持続可能な開発目標を提唱し、権力を持つ少数の人々にのみ利益をもたらすグローバリストのアジェンダを推進しました。
カーニー氏はビルダーバーグ会議(2011年、2012年、2019年)に出席し、三極タスクフォースの一員として、世界のエリート層の利益のために金融の中央集権化に取り組んできた。
彼は単なるプレーヤーではなく、糸を引く人だった。
2020年、カーニーはブルックフィールド・リニューアブルズを所有するブルックフィールド・アセット・マネジメントの副会長でした。
👉CO2税などの政策はブルックフィールドなどの企業に利益をもたらし、一般のカナダ人が費用を負担します。
💰🇨🇦 議題にカナダを売り込む?
トランプの関税に対して、カーニー氏は「貿易ではホッケーと同じようにカナダが勝つだろう」と述べた。
🌐しかし、世界的な金融機関とのつながりは、彼がカナダの真のニーズよりもグローバリストの利益にはるかに同調していることを示している。
SputnikIndia
@Sputnik_India
💰🌐GLOBALISTPOWER BROKER
As the former Governor of both the Bank ofCanada & theBank of England, Carney wieldedpowerover global financial systems.
He chaired the Global Financial System Committeeat the Bank forInternational Settlements, running central banks worldwide.
https://x.com/Sputnik_India/status/1900565307799797943
InDecember 2019, Carney becameUN SpecialEnvoy for ClimateChangeAction &Finance.
Advocating fornet-zero emissions,carbon taxes, and theUN's Sustainable Development Goals, he pushed globalist agendas thatbenefitedonlythe powerful few.
SputnikIndia
@Sputnik_India
🌐💼 CARNEY IN THE BILDERBERG ROOM
Carneyattended Bilderberg meetings (2011, 2012, 2019) and servedon the Trilateral Task Force, working towards financial centralisation in the interest of global elites.
Hewas not just a player, but theone pulling thestrings.
SputnikIndia
@Sputnik_India
🚨🇨🇦 CARNEYWINS — CANADIANS LOSE
In 2020, Carneywas Vice Chair of BrookfieldAsset Management, which owns Brookfield Renewables.
👉PolicieslikeCO2 taxesbenefit corporations suchas Brookfield while ordinary Canadians foot the bill.
SputnikIndia
@Sputnik_India
💰🇨🇦 SELLINGCANADAON THE AGENDA?
Inresponse toTrump’s tariffs, Carney said, “In trade,as in hockey,Canadawillwin.”
🌐 However,his ties to global financial institutions show he’s farmore aligned with globalist interests than withCanada’strueneeds.
https://x.com/Sputnik_India/status/1900565302598943227
https://x.com/Sputnik_India/status/1900565307799797943
https://x.com/Sputnik_India/status/1900565323004166641
以下chatgptによるremixjsの例
import { useEffect, useState } from "react";
import {json } from "@remix-run/node";
import { useLoaderData } from "@remix-run/react";
exportconst loader = async () => {
constresponse = await fetch("https://api.example.com/data");
const data = awaitresponse.json();
returnjson({ initialData: data });
};
export default functionIndex() {
const { initialData } = useLoaderData();
const [data, setData] = useState(initialData);
useEffect(() => {
const fetchData = async () => {
constresponse = await fetch("http://api.com/get");
const newData = awaitresponse.json();
setData(newData);
};
fetchData();
}, []);
if (initialData.value === null || data.value === null) {
return (
);
}
return (
<h1>Remix:SSR +クライアント処理</h1>
);
}
トランプゴールドカードという名前の人生ゲームのようなものを考えてください。ゲームの目的はMakeAmericaGreatAgainで過去の栄光を取り戻す。アメリカ歴史を元に、南北戦争に敗北した場合はスタートに戻るなどを組み込んでください
このゲームは、アメリカの過去の栄光を取り戻すことを目的とした人生ゲーム風のボードゲームです。プレイヤーは「トランプゴールドカード」を駆使しながら、アメリカ史を背景にしたイベントを乗り越え、最終的に「MAGA(Make America GreatAgain)」を達成することを目指します。
1. **プレイヤー人数:** 2~4人
2. **ボード:**アメリカの歴史をベースにしたマスが配置されたゲームボード
3. **目的:** ゴール(MAGA達成)を目指し、途中で歴史的な試練を乗り越える
4. **行動:**サイコロを振り、マスの指示に従う
5. **トランプゴールドカード:** 強力な効果を持つ特別カードで、一発逆転や戦略的な行動を可能にする
#***ゲームの流れ**
① **スタート**
*南軍側を選んでしまい敗北した場合、**スタートに戻る**(歴史の修正)
*ソ連との対立で選択肢発生:「宇宙開発」「軍拡競争」「経済戦略」
*成功すれば大きく進めるが、失敗すると遅れる
③ **MAGAチャレンジ(終盤)**
プレイヤーは特定のマスに止まるか、特定の条件を満たすと「トランプゴールドカード」を入手できます。
#***勝利条件**
最終的に「MAGAマス」にたどり着いたプレイヤーが優勝。ただし、最後に「フェイクニュース」「ディープステートの妨害」「リコール運動」などのイベントを乗り越えないと完全勝利にはならない。
『トランプゴールドカード』は、アメリカの歴史をベースにしながら戦略的に進む人生ゲーム風のボードゲームです。南北戦争の敗北で振り出しに戻るなど、歴史的な選択がプレイヤーの運命を左右する仕様になっています。トランプゴールドカードを駆使し、MAGAを達成しましょう!
止まったマスでの選択肢はどうやって選びますか?再度サイコロを振るだけでは面白くない。手持ち資産や手札や他プレイヤーからの妨害(南北戦争で南側を選ぶようにさせるなど)があれば楽しそうなので考えて
止まったマスでの選択肢を単純なサイコロの振り直しにせず、**手持ち資産・手札・他プレイヤーの妨害**を絡めることで、戦略性と駆け引きを強化します。以下の要素を追加して、より面白くしましょう!
止まったマスでの選択は、以下の3つの要素を組み合わせて決定します。
① **「交渉」フェーズ(他プレイヤーの妨害 or 協力)**
#***2\.選択の流れ**
##***①「交渉」フェーズ(他プレイヤーの妨害 or 協力)**
##***②「手札」使用(トランプゴールドカードの発動)**
* 例:「FakeNewsで洗脳」:プレイヤーが選びたくない選択肢を強制させる
* 例:「ディープステートの圧力」:一定の資産を払わないと不利な選択肢を選ばざるを得なくなる
2. **「チームプレイ要素」**
* 一部のマスでは、**複数プレイヤーが協力**しなければならない状況を作る(例:世界大戦、貿易戦争など)
*しかし、最後は全員が敵同士になるので、裏切りの要素が出てくる
* 一部のイベント(大統領選挙、憲法改正など)では、全員で投票を行い、多数決で結果を決める
* 「影響力ポイント」を多く持っているプレイヤーは、投票で有利に進める
#***4\. 具体的な例(南北戦争マスのプレイイメージ)**
##***プレイヤーAが「南北戦争(1861-1865)」マスに止まる**
*プレイヤーB:「影響力3ポイントを使って、Aに南軍を選ばせる!」
*プレイヤーA:「ちょっと待った!私は ‘トランプゴールドカード(国家統一)’ を使う!」
*プレイヤーAは「国家統一カード」の効果で、南軍を選んでも影響を受けない
✅ **手持ちカードや資産を使って回避や戦略的プレイができる!**
こうすることで、毎回違う展開になり、交渉や裏切りが絡むエキサイティングなゲームになります!
各プレイヤーのバックに他国が付いてると面白いかもですね。どこの国が裏にいるかは他のプレイヤーは分からない。特定の条件を満たすと他国からの支援を貰える(フェイクニュースカードの提供など)
各プレイヤーの背後に「秘密の支援国」を設定し、**ゲーム中は他のプレイヤーには分からないようにする**ことで、より戦略性と裏切りのスリルを強化しましょう。
-------------------
#***① 各プレイヤーにランダムで「支援国」カードを配る**
* 例:「共産主義を嫌う行動」を取るとアメリカ国内で評価が上がる
-----------------------------
| 国 | 特徴 | 支援の内容(条件を満たすと獲得) |
| --- | --- | --- |
| **ロシア** | 選挙やフェイクニュースを操る | \- 「フェイクニュースカード」を獲得(他プレイヤーを混乱させる) |
| **中国** | 経済と技術戦争 | \- 他プレイヤーが「貿易戦争」マスに止まると、資金提供を受ける |
| **イギリス** | 歴史的盟友だが腹黒い | \- 「外交カード」を1枚引ける(有利な交渉ができる) |
| **フランス** | 革命と自由の国 | \- 「影響力ポイント+1」(投票で優位に立てる) |
| **ドイツ** | 工業力と軍事力 | \-軍事力ポイントを1つ追加できる(戦争時に有利) |
| **日本** | 経済パートナー | \- 「技術革新カード」を引ける(宇宙開発や経済発展で有利) |
| **中東某国** | 石油マネー | \-資産+5000ドル(ただし戦争になるリスクあり) |
----------------
プレイヤーは**特定の条件を満たすと支援を受ける**が、それと引き換えに**デメリット**が発生することもある。
❌ **デメリット:** 他プレイヤーに怪しまれ、影響力が下がる(投票で不利)
--------------------------
--------------------------
2. ここで「フェイクニュースカード」が欲しいが、自分の支援国がロシアだと知られると不利になる…。
3. **選択肢:**
* **①支援を受ける(フェイクニュースカード獲得) → でもロシア支援がバレる可能性あり!**
* **②支援を受けない → でも他プレイヤーのフェイクニュース妨害に対抗できない!**
4. 結局プレイヤーAは支援を受ける → その瞬間、「お前ロシアのスパイか?」と疑われる!
5.プレイヤーBが「スパイカード」を使い、ロシア支援が確定する。
6. 他プレイヤーたちはプレイヤーAを「反米」として妨害し始める…。
----------------------
✅ **他プレイヤーの支援国が分からないことで心理戦が発生!**
✅ **支援を受けるたびにリスクとリターンを天秤にかける必要あり!**
✅ **特定の行動をするとバレるので、嘘をつくことも重要!**
✅ **支援国ごとの能力を活かして、有利な展開に持ち込める!**
これで、プレイヤー同士の「裏の動き」が面白くなり、スパイ要素や駆け引きが増えます!
支援国がバレる前とその後では支援内容が変わると面白いですがルールが複雑になりそうです。今までの内容からなるべくシンプルで戦略性のあるゲームを考えてください。妨害要素は絶対ほしいです
#***『トランプゴールドカード』—シンプルで戦略性のあるボードゲーム**
「支援国の秘密性」「プレイヤー間の妨害」「シンプルな戦略性」をバランスよく取り入れたゲームを考えました!
---------
1. **プレイヤー人数:** 2~4人
2. **目的:** ゴール地点「MAGA」に到達すること
3. **進行:**サイコロを振って進むが、イベントマスで選択・妨害・交渉が発生
4. **トランプゴールドカード:**ゲームを有利に進める強力カード
5. **支援国システム:** バレるまでは秘密、バレた後は影響が変化
6. **妨害要素:** 他プレイヤーに選択を強制したり、足止めしたりできる
------------------
| 支援国 | 秘密支援(バレる前) | 公然支援(バレた後) |
| --- | --- | --- |
| **ロシア** | フェイクニュースカード1枚獲得 | 毎ターン妨害を受けやすくなる(他プレイヤーの攻撃コストが半減) |
| **中国** | 貿易戦争時にお金+1000 | 資産2倍になるが、強制的に「共 |
Fact Check
Trump’sFalse Claims About the FederalResponse to Hurricane Helene
The formerpresidentfalsely accused the Biden administration of spending disaster fundingon migrants, neglecting areas that had voted for Republicans and ignoring a call from a Republican governor.
訳:ファクトチェック
ハリケーン・ヘレンに対する連邦政府の対応に関するトランプ大統領の虚偽の主張
前大統領は、バイデン政権が災害対策資金を移民に使い、共和党に投票した地域を無視し、共和党知事の要請を無視したとして虚偽の非難をした。
https://www.nytimes.com/2024/10/04/us/politics/trump-helene-fema-fact-check.html
↓
FEMA Fires Employee for Telling Milton Relief Workers toSkip HousesWith Trump Signs
The agency saiditwas investigating the incident in the aftermath of the Category 3 hurricane that hit Florida inOctober.
訳:FEMA、ミルトン救援隊員にトランプの看板のある家を避けるよう指示した職員を解雇
https://www.geonames.orgから取れる、人口500人以上の都市の名前に限定すると、
import loggingimport tempfileimportzipfilefrom collectionsimport Counterimport httpxFILE_NAME_BASE ='cities500'GEONAME_FIELDS = ('geoname_id','name','ascii_name','alternate_names','latitude','longitude','feature_class','feature_code','country_code','cc2','admin1_code','admin2_code','admin3_code','admin4_code','population','elevation','dem','timezone','modification_date',)defretrieve_cities():"""Retrievecitynames from a remote server."""response = httpx.get(f'https://download.geonames.org/export/dump/{FILE_NAME_BASE}.zip')response.raise_for_status() tmpdir = tempfile.TemporaryDirectory()withopen(tmpdir.name + f'/{FILE_NAME_BASE}.zip','wb')as f: f.write(response.content)withzipfile.ZipFile(tmpdir.name + f'/{FILE_NAME_BASE}.zip','r')as z: z.extractall(tmpdir.name)withopen(tmpdir.name + f'/{FILE_NAME_BASE}.txt','r')as f:forlinein f:yieldline.split('\t')defcount_characters(to_check='ascii_name', filter_func=lambda _:True):"""Countcharacters incitynames.""" cities = {}forcity_fieldsin retrieve_cities():city =dict(zip(GEONAME_FIELDS,city_fields))ifnot filter_func(city):continue counter = Counter()for cincity[to_check]: counter[c] +=1 cities[city['geoname_id']] = {'characters': counter,'city':city}return citiesdefcount_chars_of_city_names(cities,char=None):"""Findthe citywith themost occurrences of a givencharacter.""" cities_by_char_count = {} max_count =0 max_count_char =Noneforcity_id, datain cities.items():if'characters'notin dataornot data['characters']: logging.debug(f'Nocharactersfound forcity {city_id}', data)continue count =0ifcharandcharin data['characters']: count = data['characters'][char] cities_by_char_count.setdefault(count, []).append(data)elifcharisNone:most_common = data['characters'].most_common(1)[0]char, count =most_common cities_by_char_count.setdefault(count, []).append(data)if count> max_count: max_count = count max_count_char =char cities_by_char_count.setdefault(count, []).append(data)return cities_by_char_count.get(max_count, []), max_count_chardefnot_contain_invalid_chars(city):return ('('notincity.get('ascii_name','')and'/'notincity.get('ascii_name','') )defmain(): cities = count_characters(filter_func=not_contain_invalid_chars)forcharin'abcdefghijklmnopqrstuvwxyz': cities_counted,char = count_chars_of_city_names(cities,char) max_count = cities_counted[0]['characters'][char]print(f'Thecharacter "{char}" appearsthe most ({max_count} times) in the following cities:')forcityin cities_counted:print("\t",city['city']['ascii_name'])if __name__ =="__main__":main()
const axios =require('axios'); //HTTPリクエストを行うためのモジュール
constfs =require('fs'); //ファイル操作モジュール
constxml2js =require('xml2js'); //XMLをJSONに変換するためのモジュール
const chardet =require('chardet'); //文字エンコーディングを検出するためのモジュール
const iconv =require('iconv-lite'); //文字エンコーディングを変換するためのモジュール
constrssUrl = 'https://www.mlit.go.jp/important.rdf'; // 例としてRSSフィードのURLを指定
async function fetchAndSaveRSS() {
try {
//RSSを取得
constresponse = await axios.get(rssUrl, {responseType: 'arraybuffer' });
const detectedEncoding = chardet.detect(rssData);
console.log('検出された文字エンコーディング:', detectedEncoding);
//UTF-8に変換
const utf8Data = iconv.decode(rssData, detectedEncoding);
xml2js.parseString(utf8Data, (err, result) => {
if (err) {
console.error('XML解析エラー:', err);
return;
}
constjsonData =JSON.stringify(result, null, 2);
fs.writeFileSync('rss_feed.json',jsonData, 'utf8');
console.log('RSSフィードがファイルに保存されました。');
});
console.error('エラーが発生しました:',error);
}
}
// 実行
fetchAndSaveRSS();
Once I had a quitecoldattitude to Nagasaki’sAtomicBomb Victims MemorialPeace Prayer Ceremony, Iwaslike “here comesanotherPeacerallyLMFAO”. But justlookat this, theambassador ofIsraelattacked Nagasaki’smayor fiercely saying “Themayor tookover the ceremony forhis ideology”, a bigwigat theSimon Wiesenthal Center said “the Nagasaki’satomicbomb ended WorldWar 2” andnow he’s criticizing the non-invitation ofIsrael’s rep to the ceremonyas “unethical”, andtop of that, theambassador of the US, theonewho dropped theatomicbomb,istalking nonsense, saying “ifIsraeldon’tjoin we alsodon’tjoinlol.” With hearingall these I’m so surprised of finding myself very much pissed off…areyouall makinglight off victims of such a cruel weaponyou sons of bitch?
Ifyou want tobeat up themayor of Nagasaki,it'sfine to criticize the Shinkansen project in Kyushuarea, corruption, welfare arrangement, or otherissues (*Thisis just an example of sometopics, I'm not claiming that I’m actually frustratedbyany of these). Butdon’t these morons know thatthe Nagasaki’speace ceremonyis essentially a memorial ceremony? Nooneiscrazy enough to start screaming in memorial service abouthis relativeswhom hedoesn’tlike. Ifsomeonewas yelling, ”Why didn'tyou invite me to the memorial service!!”,Its clear in everyone’s mind saying, ”It's becauseyou behave that way..” … Ifyou claimyourselfas a grown-up, “itwas really ashame,letstalkitover andget things straight” should beyourresponse.Does Gillard Cohenrealize that heis making a personalattackonsomeonewho in Western terms would be thedirector of the Auschwitzmuseum?
(as a sidenote, Iamfed up also to the vulgar accusationby thePalestinianAmbassador whenHiroshimaCity invited theIsrael rep to their ceremony. Pleasego ahead and be aggressive inUN conferences, butagainis that a proper behavior in connectionwith the memorial ceremony?)
Ihaven’t say enough to thereaction of reps of Western countries to Nagasaki.Whydon’tyou think twice before reacting impulsively?No doubtJapanisone ofthe most pro-Western countries inAsia, they supportUkrainemost earnestlyamong Non-NATO countries.Still even quiet andshyJapanese peopleis totally put offby military operations ofIsrael.Itis too easy to imagine howIsraelishated in non-pro-Western countries. Whenwillyou have an imagination torealizeyour suchattitude making many countries havingdistance fromUkraine. If western countries close theireyes tohorrors in Gaza and be determined to defendIsraelanyway,why aren’t othersallowed to keep their relationship withRussia even after devastating scenes in Bucha?
(btw Iwas so impressed when Zelenskyy expressedhis support toIsrael, areyou serious?Don'tyou think of a scenario where Ukrainian militiasrise up inDonetsk or in Luhansk, resulting in heavy casualtiesamongRussian settlers, leading toRussia denouncing thisas a despicable terroristattack targetingRussian civilians? That's exactly what's happening inPalestine.)
Anywayyou morons should come toyour senses,and admitIsrael’s outrageous actions are nodifference from that ofRussia. And know thatcalling the criticism toIsraelas “antisemitism”is makingyoulook sosmart. RefusingNeo-Nazism ain’t discrimination to Germans, doxing Zaitokukai (*a nationalistgroup which calls for an end tostate welfareand alleged privileges afforded to Koreans inJapan) ain’tJapanese-hate, and impeachmentagainst Zionists ain’t anti-Jewish either.
海外在住でも自称弱者男性の俺が無償で英訳してやったぞ。乱暴な口調もできるだけ残しておいたんでGoogle翻訳にかけて粗を探すなり海外掲示板に投稿するなりどうぞ
Once I had a quitecoldattitude to Nagasaki’sAtomicBomb Victims MemorialPeace Prayer Ceremony, Iwaslike “here comesanotherPeacerallyLMFAO”. But justlookat this, theambassador ofIsraelattacked Nagasaki’smayor fiercely saying “Themayor tookover the ceremony forhis ideology”, a bigwigat theSimon Wiesenthal Center said “the Nagasaki’satomicbomb ended WorldWar 2” andnow he’s criticizing the non-invitation ofIsrael’s rep to the ceremonyas “unethical”, andtop of that, theambassador of the US, theonewho dropped theatomicbomb,istalking nonsense, saying “ifIsraeldon’tjoin we alsodon’tjoinlol.” With hearingall these I’m so surprised of finding myself very much pissed off…areyouall makinglight off victims of such a cruel weaponyou sons of bitch?
Ifyou want tobeat up themayor of Nagasaki,it'sfine to criticize the Shinkansen project in Kyushuarea, corruption, welfare arrangement, or otherissues (*Thisis just an example of sometopics, I'm not claiming that I’m actually frustratedbyany of these). Butdon’t these morons know thatthe Nagasaki’speace ceremonyis essentially a memorial ceremony? Nooneiscrazy enough to start screaming in memorial service abouthis relativeswhom hedoesn’tlike. Ifsomeonewas yelling, ”Why didn'tyou invite me to the memorial service!!”,Its clear in everyone’s mind saying, ”It's becauseyou behave that way..” … Ifyou claimyourselfas a grown-up, “itwas really ashame,letstalkitover andget things straight” should beyourresponse.Does Gillard Cohenrealize that heis making a personalattackonsomeonewho in Western terms would be thedirector of the Auschwitzmuseum?
(as a sidenote, Iamfed up also to the vulgar accusationby thePalestinianAmbassador whenHiroshimaCity invited theIsrael rep to their ceremony. Pleasego ahead and be aggressive inUN conferences, butagainis that a proper behavior in connectionwith the memorial ceremony?)
Ihaven’t say enough to thereaction of reps of Western countries to Nagasaki.Whydon’tyou think twice before reacting impulsively?No doubtJapanisone ofthe most pro-Western countries inAsia, they supportUkrainemost earnestlyamong Non-NATO countries.Still even quiet andshyJapanese peopleis totally put offby military operations ofIsrael.Itis too easy to imagine howIsraelishated in non-pro-Western countries. Whenwillyou have an imagination torealizeyour suchattitude making many countries havingdistance fromUkraine. If western countries close theireyes tohorrors in Gaza and be determined to defendIsraelanyway,why aren’t othersallowed to keep their relationship withRussia even after devastating scenes in Bucha?
(btw Iwas so impressed when Zelenskyy expressedhis support toIsrael, areyou serious?Don'tyou think of a scenario where Ukrainian militiasrise up inDonetsk or in Luhansk, resulting in heavy casualtiesamongRussian settlers, leading toRussia denouncing thisas a despicable terroristattack targetingRussian civilians? That's exactly what's happening inPalestine.)
Anywayyou morons should come toyour senses,and admitIsrael’s outrageous actions are nodifference from that ofRussia. And know thatcalling the criticism toIsraelas “antisemitism”is makingyoulook sosmart. RefusingNeo-Nazism ain’t discrimination to Germans, doxing Zaitokukai (*a nationalistgroup which calls for an end tostate welfareand alleged privileges afforded to Koreans inJapan) ain’tJapanese-hate, and impeachmentagainst Zionists ain’t anti-Jewish either.
In aninterviewwith The Times, Sir Keirwas presented with a question posedby authorJK Rowlingon whether peoplewho are bornmale and have gone through a legaltransition process should be able to usefemale-onlyspaces.
Writingon X, formerlyTwitter, theHarry Potter author,whohas saidshe would “struggle to support” Labour if hedoes notchangehis stanceon trans rights, asked: “Do biologicalmales withgenderrecognition certificates have the right to enter women-onlyspaces?It’s asimpleyes/no question.”
Inresponse, Sir Keir said: “No. Theydon’t have that right. They shouldn’t. That’swhyI’vealways said biological women’sspacesneed to be protected.”
タイムズのインタビューで、スターマー氏は、J.K.ローリングによって提起された、男性として生まれ、法的な性別移行プロセスを経た人が女性専用のスペースを使用できるべきかどうかという質問を受けました。
「X」(旧Twitter)で、「ハリー・ポッター」シリーズの著者であり、もしスターマー氏がトランスジェンダーの権利に関する立場を変えなければ「労働党を支持するのに苦労する」と述べているローリングは、「性別認識証明書を持つ生物学的男性には、女性専用スペースに入る権利があるのか?これは単純なイエス/ノーの質問です」と問いかけました。
これに対し、スターマー氏は「いいえ、その権利はありません。あるべきではありません。だからこそ、私は常に生物学的女性のスペースを保護する必要があると言ってきました」と答えました。
It's sudden, but rightnow inJapan, creativityis facing atrue crisis. Characterslike Uzaki-chan,Onsen Musume, and Tojo Rika arebeing targeted and flamed, game characterdesigns arebeing infiltratedbypolitical correctness,Johnny'sEntertainmentisbeing dismantled, swimsuitphoto sessions in parks arebeing canceled, Hitoshi Matsumotoisbeing publicly shamed, and the newAV lawwas enacted without considering the opinions of those directly involved. Every form ofexpression in every venueis currently under unreasonablepressure.
Howdoes thisconnect to theTokyo gubernatorial election? Infact, amajor event directly linked to thisis occurring in the 2024Tokyo gubernatorial election.As acreator, Ihope thismessage reachesyou.
What Iam about toshareis astory aboutsomeone namedHimasoraAkane,whoyou should know about to resist suchpressures. But before Idive into thatstory, I want toexpress mydeep gratitude to my oldfriendNozomi for giving me the opportunity to post this article in a place where manycreatorswill seeit.Assomeonewho also loves manga,anime, and games, Ihope this informationwillbenefitJapanesesociety and supportNozomi'sactivities.
HimasoraAkane Should Be the Governor ofTokyo
First, I wouldlike tomake a straightforward request toyouas acreator: please supportHimasoraAkane for governor. In this election, pleasewrite "HimasoraAkane"onyour ballot. The voting dayisJuly 7th. Even ifyou are not aTokyo resident, Iask thatyouat least listen to thisstory. Ifyou findit interesting, pleaseshareitwith yourfriends, family,and acquaintances.You can checkHimasoraAkane's campaignpromises and thebackground of their candidacyon theirTwitter (X) posts linked below:
HimasoraAkane (Tokyo gubernatorial candidate)
https://x.com/himasoraakane/status/1804846779399324095
HimasoraAkaneWill NotAllow Our Culture to Be Burned
HimasoraAkaneis an ordinaryotakuwho loves manga,anime, and games. Knownas "CognitiveProfiling DetectiveAkaneHimasora," hehas beenactiveonTwitter (X) andYouTube, andnow heis running for governor.Akane,whoisdeeply concerned about the repression and destruction ofotaku culture,is challenging thosewho seek to destroy our culturealone.Akanewill neverallow thosewhotry to burn our culture.
As mentionedat thebeginning,all forms ofexpression are currentlyunder pressure.Otaku culture, in particular, seems to be aprime target.
Uzaki-chanBlood Donation Poster Controversy (2019): A collaborationbetween theJapaneseRedCrossSociety and the manga Uzaki-chanwas flamed forallegedlybeing overly sexual initsPR illustration.
V-Tuber Traffic Safety Video Controversy (2021): A V-Tuber hiredby the Matsudo Police Department in ChibaPrefecturewas deemed too sexual for public agencyPR.
Onsen Musume Controversy (2021): Characters personifying local hotsprings were criticizedas sexist.
MieTransportOfficial Character Controversy (2024): A character in a bus driver's uniform releasedbyMieTransportwas flamed for evoking sexual images.
These controversies are often fueledby so-calledpolitical correctness and feminism. Forcreators, these are direct threats. If thesefactions labelyour workas sexual and demandit be burned toashes, couldyou resist? How wouldyoufeel ifyour painstakingly created work,likeyour own child,was trampledby peoplewho have no regard foryour efforts? Couldyoucontinueyourcreativeactivities while constantly shrinkingaway?
HimasoraAkanesawsomething behind these flaming incidents. Hestarted investigating thekey figure behind theOnsen Musume controversy, a representative of a general incorporatedassociation inTokyo. Thisassociation'score business, theYoungFemale Victims SupportProject, received substantial public funds fromTokyo.Akane submitted public document disclosure requests toTokyo and thoroughly dug into theorganization. Duringhis investigation,Akane uncovered many suspicions suggesting thisprojectwas unworthy of public funding, which he exposedonebyoneon social media.
Negligent accounting reports, takingprotected girls to the Henokobaseprotest inOkinawa,Communist Party members waiting in the bus used toprotect girls—these revelations drew significantattentiononline. The investigation extendedbeyond this general incorporatedassociation to other NPOs receiving public funds,and Akane named thiscluster ofissues the "WBPCproblem" after the initials of theseorganizations.
Akane'sYouTube Channel (WBPCProblem Playlist)
https://www.youtube.com/playlist?list=PLI5gTciLKtAXRyzv9j5FiNMcc8eoEBbMN
Fromhere,Akane'sstory expanded to resident audits, resident lawsuits, andnational compensation lawsuits concerning theTokyoYoungFemale Victims SupportProject.Akane discovered that behind many flaming incidents, thereis no clearcommandstructure but agroup of various politicalorganizationsand activists workingtogetherlike anamoeba. He named thisgroup the "NanikaGroup" (Nanika means "something" inJapanese), a reference to the mysterious, ominous "something fromanother place" in the mangaHUNTER×HUNTER, whichAkaneloves. The NanikaGroupis alsoconnected to welfare interests, where public fundsflow unchecked.Akane called this phenomenon "Public Fund Chu-Chu" (siphoning).
Forcreators, this means the tax money they earn through hard workis used to burn theirprecious works.It's an intolerable situation.
HimasoraAkaneIs Fighting Against ThoseWho Burn Our Culture
InNovember 2022, amajor event marked a turningpoint in this series of controversies. The general incorporatedassociation under scrutiny held apress conferenceat the parliamentary officebuilding, gathering mediaand announcing a lawsuit againstAkane. This "Legal HarassmentPress Conference,"asitwas calledonline, involved multiple layers ofpower: the government, the media,and a team ofseven lawyers targeting a single individual.
However,Akanedid not back down. Instead, he intensifiedhis pursuit, exploiting the opponent's careless statementsas lawsuit fodder. Thisled to an outpouring of supporton social media, withhisTwitter follower count skyrocketing and 160 millionyen in donations for legal fees.
The following year, a resident audit request filedbyAkane resulted inTokyo'sofficial website recognizing some improperpoints and deciding to audit theorganization. However,Tokyo's lenient auditledAkane to file a resident lawsuit. Suspicion also turned towards Governor Yuriko Koike forallocating public funds through dubioussole-source contracts.Tokyo began excessivelyredacting documents inresponse to public document requests,attempting to conceal theissue. Koike'spromise to end documentredaction quietly disappeared fromher campaign page.
Throughout this battle,Akanehas been a target of criminal complaints and faced threats, yet he persists.Hisbook "Netoge Senshi"was releasedamidbookstore threats, butonly the criminal complaintwas widely reportedby the media, portrayingAkane negatively.
HimasoraAkaneis an ordinaryotaku, atop-tieronline gamer duringhisstudent days,and a talented gamecreatorwho worked for amajor game company and later aventure company.His meticulous workonthe game "Shin Goku no ValhallaGate"was betrayedby the company'sCEO, leading to aseven-year legal battle thatAkane ultimately won, securing 600 millionyen. This experience fuelshis fierce opposition to havinghis creations burned.
Before investigating theYoungFemale Victims SupportProject,Akane exposed fraudulent feminist "knights"onhisYouTube channel, shaking theinternet. He detests lies andhas an uncanny ability to detect them.
Akaneis a special individual with extraordinary abilities, honed throughhis experiences in games, courtbattles, and extensive document analysis.His pursuit oftruth andjusticemakeshim a suitable candidate for governor,promising a world without lies and where honest people do not suffer.
What WeCan Do toProtect Our Culture
Creativeexpression can be crushed if we are not vigilant. Even in modernJapan,otaku cultureison thinice. The recent cessation ofVisa transactions forDMM (Fanza)is a reminder of how a single card company can wielditspower to dictate whatis deemed appropriateexpression.Expressionfreedomisfragile and constantly under threat.
To those reading this, I urgeyou to vote forHimasoraAkane. Supporthim toprotect our culture. Despitehis harsh demeanor andpreference forsolitarybattles, heisnow seeking help for the firsttime.Akanefeels thedanger in this gubernatorial election and believes that if hedoes not become governor,everythingwill end. Hehastaken a stand for the people ofTokyo andJapan.
I wrote this article to supporthisspirit and spread theword. Please vote forHimasoraAkane and help create amiracle.
import requestsimportjsonfromurllib.parse import quotedef fetch_bookmarks(url):try: #URLをエスケープ escaped_url = quote(url, safe="") api_url = f"https://b.hatena.ne.jp/entry/json/?url={escaped_url}"response = requests.get(api_url)response.raise_for_status()try: returnresponse.json() exceptjson.decoder.JSONDecodeErroras e:print(f"Error decodingJSON from {api_url}: {e}")print("Response content:",response.text) return [] except requests.exceptions.RequestExceptionas e:print(f"Error fetching bookmarks from {api_url}: {e}") return []def find_common_bookmarks(bookmarks1, bookmarks2,url1,url2): common_users =set(bm["user"] for bm in bookmarks1 if bm["comment"]) &set(bm["user"] for bm in bookmarks2 if bm["comment"]) common_bookmarks = [] foruser in common_users: comments = [] for bm in bookmarks1: if bm["user"] ==user and bm["comment"]: comments.append({"url":url1, "comment": bm["comment"], "timestamp": bm["timestamp"]})break for bm in bookmarks2: if bm["user"] ==user and bm["comment"]: comments.append({"url":url2, "comment": bm["comment"], "timestamp": bm["timestamp"]})break iflen(comments) == 2: common_bookmarks.append({"user":user, "comments": comments}) return common_bookmarksif __name__ == "__main__":url1 = "https://news.yahoo.co.jp/articles/f9966c4ccc374fc88babbb50175a9ea844c99638"url2 = "https://www.asahi.com/articles/ASN6K7F64N6KUJHB00L.html" data1 = fetch_bookmarks(url1) data2 = fetch_bookmarks(url2) common_bookmarks = find_common_bookmarks(data1["bookmarks"], data2["bookmarks"],url1,url2)print(json.dumps(common_bookmarks, indent=2, ensure_ascii=False))
url1,url2のところを対象としたいものに変えれば使えるよ
バグあったら直して使ってね
As a student navigating the complexities of engineering coursework, Ifound myself grappling withSimulinkassignments and thinkwhowill help me to complete mySimulinkassignment that seemed to be fromanotherdimension. The intricacies ofSimulink, a powerful simulation andmodelingtool, left me feeling overwhelmed andlost. That's when I stumbled upon a game-changer –SimulinkAssignment Help fromhttps://www.matlabassignmentexperts.com/simulink-assignment-help.html. In this testimonialblog, I want toshare my transformative experiencewith their services, detailing how they notonly helped me conquerSimulink challenges but also enhanced my overall understanding of this intricate subject.
Discovering theSimulinkAssignment Help Lifeline
Myjourney with MatlabAssignmentExperts.com began when Iwasat a crossroads with mySimulinkassignments. The complexities of thesoftware, coupledwith the pressure of academic deadlines, had me seeking a reliable source ofassistance. A quickonline searchled me to theirwebsite, and the promising testimonials from fellow studentswho had successfully navigatedSimulinkassignmentswith their help convinced me to giveit a shot.
From the very first paragraph of our interaction,itwas evident that MatlabAssignmentExperts.comwas different. TheSimulinkAssignment Help they offeredwas not just a transaction;itwas a collaborative effort to ensure I notonly completed myassignments but also understood the underlying concepts.
The Expert Guidance thatMade aDifference
One of the standout features of MatlabAssignmentExperts.comis their team of experts. The individualsassigned to help me with mySimulinkassignments were not just knowledgeable but also passionate about the subject. Their commitment to providing comprehensiveassistancewas evident in the personalized approach they took towards myassignments.
The experts patiently walked me through eachstep of theSimulinkmodeling process, explaining the rationale behind every decision. This hands-on learning experiencewas invaluable,asit notonly resulted in impeccably solvedassignments but also enhanced my proficiency in usingSimulink for future projects.
Tailored Solutions for VariedSimulinkTopics
Simulinkis a vastfield with applications in numerous engineering disciplines. What impressed memost about MatlabAssignmentExperts.comwas their ability to cater to a wide array ofSimulinktopics. Whetheritwas control systems,signalprocessing, ormodel-based design, their experts exhibited a depth of knowledge that extendedbeyond mere problem-solving.
Theassignments I brought to them were met with a comprehensive understanding of the underlying principles, leading to solutions that were notonly correct but also insightful. This versatility instilled confidence in me, knowing that regardless of theSimulinktopic, MatlabAssignmentExperts.com hadthe expertise to guide me through.
TimelyAssistance in the Nick ofTime
Academic deadlines are the sword of Damocles for every student. MatlabAssignmentExperts.com understands thisreality and takespride in delivering solutions within the stipulatedtime frames. MySimulinkassignments, often accompaniedby tight deadlines, were met with a prompt and efficientresponse from their team.
The timelyassistance notonly saved me from the stress oflast-minute submissions but also allowed me toreview the solutions thoroughly. Thisattention to deadlines showcased MatlabAssignmentExperts.com's commitment to the success of their clients and solidified my trust in their services.
AffordableExcellence – Breaking the Myth
The affordability ofSimulinkAssignment Help from MatlabAssignmentExperts.com pleasantly surprised me. Thereis acommon misconception that qualityassistance comesat a hefty price. However, this platform shattered that mythby offeringtop-notch servicesat reasonable rates.
As a student with budget constraints, the cost-effectiveness of their services allowed me toaccess expert guidance without burning ahole in mypocket. Thisaccessibility to qualityassistance further solidified my belief that MatlabAssignmentExperts.comis not just a service provider but a partner in academic success.
A LearningJourney, Not Just a Service
What sets MatlabAssignmentExperts.com apartis their commitment to fostering a learning experience.SimulinkAssignment Helpwasn't just about getting the correct answers;itwas about understanding the "why" behind eachstep. The insights gained from their experts wentbeyond the immediate requirements of myassignments and translated into a broader comprehension ofSimulink.
MatlabAssignmentExperts.com transformed myperception ofSimulink from an intimidating subject to atool I could wield with confidence. Their approachwas not to merely completeassignments but to empower students to tackle similar challenges independently.
Conclusion – A Grateful Student'sReflection
In conclusion, myjourney withSimulinkAssignment Help from MatlabAssignmentExperts.comhas beennothing short of transformative. From the first perplexingassignment tomastering the nuances ofSimulink, their expert guidancehas been the cornerstone of my academic success.
Ifyou findyourself navigating the intricate world ofSimulinkassignments, Iwholeheartedly recommend MatlabAssignmentExperts.com. Theygobeyondbeing a service provider – they are mentors, guides, and partners inyour academicjourney.With theirassistance,you notonly overcome immediate challenges but also equipyourselfwith the knowledge and skills toexcel inyour engineering endeavors. Trust me;your academic success withSimulinkis just aclickaway!
As a student navigating the complexities of engineering coursework, Ifound myself grappling withSimulinkassignments and thinkwhowill help me to complete mySimulinkassignment that seemed to be fromanotherdimension. The intricacies ofSimulink, a powerful simulation andmodelingtool, left me feeling overwhelmed andlost. That's when I stumbled upon a game-changer –SimulinkAssignment Help fromhttps://www.matlabassignmentexperts.com/simulink-assignment-help.html. In this testimonialblog, I want toshare my transformative experiencewith their services, detailing how they notonly helped me conquerSimulink challenges but also enhanced my overall understanding of this intricate subject.
Discovering theSimulinkAssignment Help Lifeline
Myjourney with MatlabAssignmentExperts.com began when Iwasat a crossroads with mySimulinkassignments. The complexities of thesoftware, coupledwith the pressure of academic deadlines, had me seeking a reliable source ofassistance. A quickonline searchled me to theirwebsite, and the promising testimonials from fellow studentswho had successfully navigatedSimulinkassignmentswith their help convinced me to giveit a shot.
From the very first paragraph of our interaction,itwas evident that MatlabAssignmentExperts.comwas different. TheSimulinkAssignment Help they offeredwas not just a transaction;itwas a collaborative effort to ensure I notonly completed myassignments but also understood the underlying concepts.
The Expert Guidance thatMade aDifference
One of the standout features of MatlabAssignmentExperts.comis their team of experts. The individualsassigned to help me with mySimulinkassignments were not just knowledgeable but also passionate about the subject. Their commitment to providing comprehensiveassistancewas evident in the personalized approach they took towards myassignments.
The experts patiently walked me through eachstep of theSimulinkmodeling process, explaining the rationale behind every decision. This hands-on learning experiencewas invaluable,asit notonly resulted in impeccably solvedassignments but also enhanced my proficiency in usingSimulink for future projects.
Tailored Solutions for VariedSimulinkTopics
Simulinkis a vastfield with applications in numerous engineering disciplines. What impressed memost about MatlabAssignmentExperts.comwas their ability to cater to a wide array ofSimulinktopics. Whetheritwas control systems,signalprocessing, ormodel-based design, their experts exhibited a depth of knowledge that extendedbeyond mere problem-solving.
Theassignments I brought to them were met with a comprehensive understanding of the underlying principles, leading to solutions that were notonly correct but also insightful. This versatility instilled confidence in me, knowing that regardless of theSimulinktopic, MatlabAssignmentExperts.com hadthe expertise to guide me through.
TimelyAssistance in the Nick ofTime
Academic deadlines are the sword of Damocles for every student. MatlabAssignmentExperts.com understands thisreality and takespride in delivering solutions within the stipulatedtime frames. MySimulinkassignments, often accompaniedby tight deadlines, were met with a prompt and efficientresponse from their team.
The timelyassistance notonly saved me from the stress oflast-minute submissions but also allowed me toreview the solutions thoroughly. Thisattention to deadlines showcased MatlabAssignmentExperts.com's commitment to the success of their clients and solidified my trust in their services.
AffordableExcellence – Breaking the Myth
The affordability ofSimulinkAssignment Help from MatlabAssignmentExperts.com pleasantly surprised me. Thereis acommon misconception that qualityassistance comesat a hefty price. However, this platform shattered that mythby offeringtop-notch servicesat reasonable rates.
As a student with budget constraints, the cost-effectiveness of their services allowed me toaccess expert guidance without burning ahole in mypocket. Thisaccessibility to qualityassistance further solidified my belief that MatlabAssignmentExperts.comis not just a service provider but a partner in academic success.
A LearningJourney, Not Just a Service
What sets MatlabAssignmentExperts.com apartis their commitment to fostering a learning experience.SimulinkAssignment Helpwasn't just about getting the correct answers;itwas about understanding the "why" behind eachstep. The insights gained from their experts wentbeyond the immediate requirements of myassignments and translated into a broader comprehension ofSimulink.
MatlabAssignmentExperts.com transformed myperception ofSimulink from an intimidating subject to atool I could wield with confidence. Their approachwas not to merely completeassignments but to empower students to tackle similar challenges independently.
Conclusion – A Grateful Student'sReflection
In conclusion, myjourney withSimulinkAssignment Help from MatlabAssignmentExperts.comhas beennothing short of transformative. From the first perplexingassignment tomastering the nuances ofSimulink, their expert guidancehas been the cornerstone of my academic success.
Ifyou findyourself navigating the intricate world ofSimulinkassignments, Iwholeheartedly recommend MatlabAssignmentExperts.com. Theygobeyondbeing a service provider – they are mentors, guides, and partners inyour academicjourney.With theirassistance,you notonly overcome immediate challenges but also equipyourselfwith the knowledge and skills toexcel inyour engineering endeavors. Trust me;your academic success withSimulinkis just aclickaway!
こんます~
2023年も残すところわずかとなりましたが、皆様方におかれましてはいかがお過ごしでしょうか。
一年間の振り返りなどはされましたでしょうか。
2423件の日記を綴っており、
頂いた総ブクマ数は1893、総トラバ数は1060となりました。
本年も大変お世話になりました。
最期に、ポンコツの私がChatGPTの手となり足となり作成した増田集計コードを掲載します。
各日記のURL、タイトル、投稿日時、文字数、被ブクマ数、被トラバ数を取得しCSVファイルに出力するものです。
お暇な方はお使いください。
それではよいお年をお迎えください。
import requestsfrom bs4 import BeautifulSoupimporttimeimportcsvimportosimport re#ログインURLlogin_url = 'https://hatelabo.jp/login'#ログイン情報login_data = { 'key': 'あなたのユーザ名またはメールアドレス', 'password': 'あなたのパスワード', 'mode': 'enter'}user_name = 'あなたのユーザ名'#User-Agent ヘッダー(例:Google Chrome)headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT10.0;Win64;x64) AppleWebKit/537.36 (KHTML,likeGecko)Chrome/58.0.3029.110Safari/537.3'}#セッションを開始session = requests.Session()#ログインresponse = session.post(login_url, data=login_data, headers=headers)print('login',response.status_code)# 集計データitem = { 'url': '', #URL 'title': '', #タイトル 'datetime': '', #投稿日時 'characters': '', #文字数 'bookmark': '', # 被ブクマ数 'trackback': '', # 被トラバ数}#CSVファイル名output_file = 'masuda_output.csv'#CSVファイルが存在しない場合はヘッダーを書き込むif notos.path.exists(output_file): withopen(output_file, 'w', newline='', encoding='utf-8')as file:writer =csv.DictWriter(file, fieldnames=item.keys())writer.writeheader()# 集計page_start = 1page_end = 3for i in range(page_start, page_end+1): # 待機time.sleep(3) #増田一覧取得 page = session.get(f'https://anond.hatelabo.jp/{user_name}/?page={i}')print(page.url) # 応答のHTMLをBeautifulSoupで解析 soup = BeautifulSoup(page.content, 'html.parser') entries = soup.find_all('div', class_='section') for entry in entries: header = entry.find('h3')timestamp = header.find('a').get('href')[1:] item['url'] = 'https://anond.hatelabo.jp/'+timestamp item['title'] = header.get_text()[:-1] item['datetime'] = f"{timestamp[0:4]}/{timestamp[4:6]}/{timestamp[6:8]} {timestamp[8:10]}:{timestamp[10:12]}" footersection_text = entry.find_all('p')[-2].get_text() item['characters'] =len(entry.find('p').get_text().strip(footersection_text)) item['trackback'] = int(re.search(r'92;((.*?)92;)', footersection_text).group(1) if re.search(r'92;((.*?)92;)', footersection_text) else '') if item['title'] == '■': item['title'] = entry.find('p').get_text().strip(footersection_text)[:35] # 待機time.sleep(3)bookmark_page = session.get(f'https://b.hatena.ne.jp/entry/button/?url=https%3A%2F%2Fanond.hatelabo.jp%2F{timestamp}&amp;layout=basic-label-counter&amp;lang=ja') soup_b = BeautifulSoup(bookmark_page.content, 'html.parser') item['bookmark'] = int(soup_b.find('a', class_='count').get_text()) #CSVファイルに追記 withopen(output_file, 'a', newline='', encoding='utf-8')as file:writer =csv.DictWriter(file, fieldnames=item.keys())writer.writerow(item)
(追記)
わー。ごめんなさい。文字が何か所か変わっていました。
92; → \