はてだBlog(仮称)

私的なブログど真ん中のつもりでしたが、気づけばWebサイト系のアプリケーション開発周りで感じたこと寄りの自分メモなどをつれづれ述べています。2020年6月現在、Elasticsearch、pandas、CMSなどに関する話題が多めです。...ですが、だんだんとより私的なプログラムのスニペット置き場になりつつあります。ブログで述べている内容は所属組織で販売している製品などに関するものではなく、また所属する組織の見解を代表するものではありません。

python

ほとんど何もしないディレクトリ同期風 Pythonプログラムの例

はじめに 例えば、自分の中ではあるあるなのですが、静的HTML*1のサイトのデータについてある要素を一括書き換えする...みたいなニーズがあります。 CMSやなんらかの仕掛けによりあっさり完了ということも多いでしょうが、一方、そうでないこともやはり少な…

静的HTMLサイトの画像が規約にしたがっているかチェック(Python / os.path.commonpath) と昔話

はじめに Pythonの次のライブラリ/便利メソッドの簡単な紹介です。 BeautifulSoup4のfind_allであるhtmlの全てのimgタグとそのsrc属性の抜き出し urllib.parse.urljoin(こちらの記事https://itdepends.hateblo.jp/entry/2020/02/02/142148) os.path.commonp…

Python os.urllib.parse.urljoinでHTML内の相対パスをルート相対パスにお手軽に変換 と 昔話

はじめに Pythonの標準ライブラリの os.urllib.parse.urljoin os.path.join os.path.normpath のスニペット事例紹介です。 特に、os.urllib.parse.urljoinについては、 「/a/b/c/foo.html」と「../../common/img/z.jpg」を引数に与えると、「/a/common/img/z…

BeutifulSoupでお手軽DOMツリーのテキスト出力

はじめに Python、BeautifulSoupふと思い出し企画です。 Pythonのスクレイピングライブラリである、BeutifulSoup4 についてオレオレ切り口でちょっとだけふれています。 BeautifulSoup4やScrapyというキーワードで言うと、スクレイピングやそもそものクロー…

Jinja(Jinja2)をさわってみる

Jinja(Jinja2) JinjaはPythonで動作するテンプレートエンジンです。 PythonのWAFのFlaskのデフォルトのテンプレートエンジンでもあるようです。 WAFとの結びつきが強いイメージなのでWebアプリでしか動作しないのかなと思っていたら、コマンドラインのPython…

pandasクックブックの感想を借りた自分メモ

pandasクックブックの部分的な感想 この記事は、こちら↓の書籍の読書感想文です。 pandasの理解が深まるとともに、他では見られない、暗黙のルール(ではないんだろうが私は良くわかってなかったpandasの世界観)が まとまっていて、非常にためになりました。…

Pandas文学論なんちて

はじめに Pandasで遊んでいて、便利だなーと思う一方で、Pandasでのある種のDSLとしての記法やライブラリをうまく使えばもっとシンプルに、かつ可読性(ここでは、ビジネスルールとデータクレンジングなどのための前処理(の前処理)をうまく分離したもの)…

PandasをElasticsearch検索インデクサープレ処理ETLに見立てた場合の「設計の共有」のためのモジュールファイル分割・分配方針

はじめに 最近Python、Pandasに入門していろいろ遊びながら、ETLにおける「設計の共有」が捗る&しかけってなんだろうなと思案しております。 ETLは汚れ仕事も多いので、他の分野以上にある種のスパゲティ化しがちで、実際はそうではなくとも、時が経ってな…

駅データ.jpをサンプルに使ったElasticsearchのGeo検索のクエリ例、事前準備のPandas、Pyprojでのデータ加工、Pythonクライアントでのバルクロード、Pythonクライアントでの検索、

はじめに 駅データ.jpという駅の路線データおよび緯度経度の座標を管理してありフリーでも利用可能な*1データが提供されています。 www.ekidata.jp 今回駅データ.jpのデータについて、次のチュートリアル(ひとまず動くサンプルコードを動かしてみるの意)と…

「街区レベル位置参照情報」を使って市区町村を囲むような長方形の4角の緯度経度を算出する体でのPandasとLeafletのサンプルプログラム

はじめに 行政が公開している「街区レベル位置参照情報」というデータを使って、↓こんな感じで、ある市区町村を囲むような4角形の矩形をあぶりだせないか試してみました。 ... という体裁をとった、PandasとLeafletのサンプルプログラムを動かしてみた・やっ…

Pandas(もしくはPython)のオレオレイディオム

はじめに Elasticsearchに取り込むにはそのままではちょっとアレかなという類のデータを手間をかけずにPandasでデータ変換するにはというテーマで考え事をしてみました。 「よくある例」なのかは断言できませんが、ボキャブラリーとして手札にあれば、間に合…

検索サイトであるあるかもしれないインデックスimport前のドキュメント標準化をざっくり試すためのPython/Pandasのイディオムメモ

はじめに 検索サイトで、Elasticsearchなどの検索エンジンにデータを雑に食わせるにあたり、この用途にPandasが手頃(Pandasはもっとリッチなことができるはずだといった話はさておき)なような気がしてきので、サンプルコードを作成してみました。 この記事…

カジュアルなETLで利用したい人のためのPython/ Pandasミニミニミニチュートリアル

まえおき 他のスクリプト言語などの経験からPythonは雰囲気程度の読みこなしはできるけど、ちょっとした文字列中心のETLっぽいことがしたくてfor文はあまり書きたくなくて、Pandasだとそれが楽にできそうだけど、NumPyから入るのもちょっと目的が違うし、一…

Webサイトのコンテンツ移行のテスト(デジタルだけどアナログな世界) pyquery、requests

はじめに CMSを変更したり、おおよそ保持するテキストは変えないもののデザイン(htmlマーキングを含む意味)を変更した際に、現行の内容を移行漏れしていないことをざっくりテストしたいということはないだろうか。 この手のざっくり移行テストをするという…

手作りJSONファイルのフォーマットを切り分け確認(python -m json.tool)

手作りしたJSONファイルのフォーマットがJSON形式として間違っていないかを、そんなことをせざるを得ないような環境で、できるだけ単純に確認する方法を編み出さねばならん状況。 広い宇宙の中の地球のこの世界の片隅でしか発生しないシチュエーション。 結…