this is a dummy post. I'll delete it later.
highlighter
Donnerstag, 12. Juni 2025
Sonntag, 9. Februar 2025
瀧山大滝・熊野岳(蔵王山) 2025/2/8(sat) - 2025/2/9(sun)
Club Tourismさんでの参加です. 東北地方の山形県や岩手県辺りになつてきますと個人で車で往くには往復の時間が大分えらい事になりますので新幹線移動が前提となつてきます.
一日目は
ガイドさんの説明ままですが, 東北の蔵王近辺に措ける氷柱は珍しいそうです. 理由は二点あり火山活動で出来た山が多いため地下から上がつて来る水が温かいので凍り難いと謂ふのが理由の一つ, もう一点は凍つても深雪に埋もれて隠れてしまうとの事でした.
宿泊は天童市街中心付近に在りますホテルビューくろださんで一泊しています, 夕・朝食がとても美味で芋煮が最高でしたし全体的にボリュームが凄いです, 朝から焼売にロールキャベツとか. 天童市と謂えば将棋の駒で有名ですので何時かは街観光でも訪れたく思ひます.
二日目が今ツアーのメインである熊野岳(蔵王山), 登りでは蔵王ライザスキー場でリフトを二つ乗りスキー場の最上部から登山を開始しています. 本来は熊野岳山頂迄登る予定でしたが素晴らしい寒波が丁度訪れておりましたので稜線付近は地吹雪&強風で素人目に見上げても洒落にならないよねと謂つた具合でしたので, ガイドさん判断により七八合目近辺で折り返す結果となつております. 樹氷(スノーモンスター)は一応見られましたので樹氷見学登山との目標は達成されたと思ひます, 下りはリフトへは乗らずにゲレンデ横の樹林帯を通り下迄下りました.
下山後はホテルルーセントタカミヤさんにて温泉に浸かり, 後帰路へ就きました.
行き帰りに使う駅は共に山形駅予定ではあつたのですが雪が多過ぎて新幹線が山形側には行かぬという事で行きが仙台駅, 帰りは福島駅と謂う大分例外な形でした. ガイドさんやバス運転手さんは仕事とは謂え大変ですよね, 向かつている途中, 又は, 既に到着して待機しているところに別の駅に来てくれとなつて百キロ以上離れた場所へ急いで移動したりする訳ですから, ツアー様様です. 雪は好きですが多過ぎつてやつは困りもので.
添乗員は奥泉さん(以前に奥穂のツアーでご一緒している), バスの運転手はトランスオーシャンバス株式会社のオオタさんで御座いました. クラツーでの東北山域ツアーではガイドが五十嵐さんの場合が多いとの事ですのでご利用されますとお会いする機会もあるのではないかと存じます.
- Google Maps :: 瀧山大滝(gpx)
- Google Maps :: 熊野岳(蔵王山)(gpx)
- ja.wikipedia.org :: 蔵王連峰
- www.view-kuroda.com :: HOTELビューくろだ
- www.zaoliza.co.jp :: ZAO LIZA WORLD
- meito-lucent.com :: 名湯リゾートルーセントタカミヤ
- 3gaku.jp :: 五十嵐ガイド
- www.to-bus.com :: トランスオーシャンバス株式会社






















Samstag, 25. Januar 2025
Extracting tags with BeautifulSoup4
h2とh3の構成と内容だけ知りたい事がままあると思います.
既にcmdやpowershell上でpythonコマンドが実行可能な状態である事だけが前提で, 下記の二行が追加で必要なコマンドです.
- python -m pip install requests
- python -m pip install beautifulsoup4
以下は参考にいたしましたpython programming youtuberさんの動画です(使用モジュールは説明そのままです).
youtube : 【PythonでWebスクレイピング】Beautiful Soupの使い方解説! 〜 初心者向け 〜 プログラミング入門
動画を10分一寸のところ迄見れば後は自分で自在に使えるやうになる筈です.
以下はソース, 適当なテキストファイルに記述して拡張子は.pyで保存します.
import requests import sys from bs4 import BeautifulSoup import time def main(): soup = BeautifulSoup(requests.get(sys.argv[1]).text, 'html.parser') if None != soup.find('body'): for h2 in soup.find_all('h2', class_="hogepi_2"): time.sleep(1) if h2.string != None: print(f'{h2.string}') for h3 in soup.find_all('h3', class_="hogepi_3"): time.sleep(1) if h3.string != None: print(f' {h3.string}') if __name__ == '__main__': if len(sys.argv) < 2: sys.exit() main()
tag2 1
tag3 1
tag3 2
tag3 3
tag2 2
tag3 4
tag3 5
tag3 6
で, 適当に自分の記事に掛けて結果をテキストファイルへ出力してみますと......私は普段見出しを"無視して書いている"のとblogの設定的な事もあるのか思つた通りの形ではありませんがそれとなく取得出来たやうです(正しく構成されたページだと綺麗に取得出来ました).
h2の下にh3が居るので単純にh2の前でh1かbodyを見ればいけるか(?)と試したら駄目で, 個別ページのソース全体を確認したところ右側のサイドバーのウィジェットがh2で定義されていたのでその回数分ループが回り, h3も釣られて大量に回つていたのでした. classを適当に追加したら予期した形となりましためでたし......じゃないですねえ, 良い感じだけれどh3の1~3と4~6が綺麗に分かれていませんでした. h3が全て同じclassなのでどのh2配下なのか区別出来ないからしゃーない.
ちょびつとhtmlの構成を覗きたい時用に.
import sys import requests class req(): def __init__(self, url): self.r = requests.get(url) def r1(self): print(f'encoding:{self.r.encoding}, apparent_encoding:{self.r.apparent_encoding}, headers:{self.r.headers}') print(f'response_body:{self.r.content}') print(f'encoded_response_body:{self.r.text}') def r2(self): # unimplemented pass def r3(self): # unimplemented pass def main(url): r = req(url) r.r1() if __name__ == '__main__': if len(sys.argv) > 1: main(sys.argv[1]) else: sys.exit()