歩いたら休め

If the implementation is easy to explain, it may be a good idea.

Python

【メモ】PyCon 2017で勉強になったこと、これから勉強すること

プログラミング言語PythonのカンファレンスPyCon JP 2017に参加してきました。そこで勉強になったこと、これから勉強したいことをまとめた個人的なリストです。 いろいろなセッションの内容については、既にいろいろな方が素晴らしい記事を書いているので、…

【Python】networkx + PyGraphvizで有向非巡回グラフ(Directed acyclic graph)をプロットする

昨日書いたコードで、「有向非巡回グラフ(Directed acyclic graph)をきれいにプロットする」ということが課題として残っていました。 ところが、よく考えたらDAGはワークフローエンジン等でよく使われている概念で、ワークフローエンジンで、タスクの順番…

【Python】仕事の依存関係を有向非巡回グラフ(Directed acyclic graph)として整理するツールを作りました

特にデータ分析周りの仕事で、 「プログラムを書く」前に「設計」と「プログラミング言語の選定」が必要 「プログラミング言語の選定」の前に「設計」が必要 「設計」の前に「稟議を出す」「個人情報についての取扱を調べる」が必要 … といったような、タス…

【Python】urllibでマルチバイト文字のURLのhttps通信が失敗する

サラリーマンたるもの、日々の情報収集は欠かせません。 そのため、気になる業界ニュースをチャットに通知するクローラーを実装して使っているのですが、度々未知のエラーが出てしまいます。 叩いたら粉まみれ。PCデポ決算修正の内容とは https://t.co/9HEJy…

【Python】辞書のキーにデフォルト値をセットする

最近Pythonで自然言語処理をしていて、複数のライブラリを利用していると、どうしてもリストや辞書のややこしい変換が増えてきます。 categories = ['サーバル', 'かばん', 'サーバル'] lines = [ ['ここ', 'は', 'さばんな', 'ちほー'], ['食べ', 'ない', '…

【Python3.6】はてなブログに投稿するためのライブラリをPyPIに公開しました

以前書いたスクリプトを書き直して、PyPIからインストールできるようにしました。 github.com pypi.python.org

【Python3.6】AWS Lambdaでツイッターを検索して自動リツイートする

先程の記事に引き続き、AWS LambdaでPython3.6が使えるようになったので、過去にPython2.7で書いたバッチ処理のレガシーコードをLambdaに移行しています。 まずは、下の記事で書いた「ツイッターを検索した結果を自動リツイートする」コードを移行します。今…

【R/Python】rChatworkとpychatworkをチャットワークAPIのバージョンアップに対応させました

RとPythonのチャットワーク用ライブラリを、APIのバージョンアップに早めに対応しました。 ライブラリの実装練習に作った割に、なんだかんだ自分でいろいろと利用しているのでビックリです。 help.chatwork.com v1からv2への移行期間として、下記の停止日ま…

【Python】Web集客や、データ処理の最新ニュースを自動投稿するブログを作りました

実際には、ここ1年くらいSlackに通知していたものを、「ログ残んないしざっと見るとき不便だな」と思ってたので、はてなブログに自動投稿するように作りました。 TumblrやBloggerとか、JekillとかPelicanとかでS3に静的ページを作ることも考えたのですが、既…

【自動要約】海外のニュースを自動で要約して翻訳して、自動でまとめてくれるプログラムを書ければいいなあ

海外のニュースを簡単に通知できないか試そう(試したい)という記事です。 国内の業界ニュースは当然追っているにせよ、海外に面白い動きがあるのに、全然把握できていないことは多々あります。 とはいえ、私は英語が得意ではないため、自分の興味のあるニ…

【Python】はてなブログのOAuth認証でブログを自動投稿するスクリプトを書いた

不動産関連のニュースを自動でスクレイピングで集めていたのですが、 Python2から3に移行する際にOAuth認証に移行しようとして、ずっと面倒でサボっていました。 Rubyでは、既にgemの形で実装している方がいました。記事の内容も素晴らしかったし、コードも…

【Python】PyPIに『pychatwork』を公開しました

以前練習で作ったライブラリを、仕事でも後輩のタスクで使うようになった(らしい)ので、PyPIに公開してインストールできるようにしました。 pypi.python.org 登録手順など、こちらのページを本当に助けられました。ありがとうございます。 qiita.com テス…

【Python】データサイエンティストのためのPython開発記事紹介

後輩が数値計算を使う、簡単なバッチ処理をPythonで書き始めました。 一応私もPythonの知識ならそれなりにあるのでいろいろ教えられることは(まだ)あります。 そのための予行練習としていろいろまとめておきます。 正直、自分よりもっと数値計算やプログラ…

【Python】pip installで突如UnicodeDecodeErrorが出始めたので対処した

Github上にアップした自作のPythonモジュールをインストールしようとしたところ、UnicodeDecodeErrorが出てしまいました。 $ pip install --upgrade git+https://github.com/takeshi0406/twlist_to_urllist Exception: Traceback (most recent call last): F…

【Python】Rubyの配列やハッシュのメソッドをPythonで再現する

友だちが「Rubyはいろいろなメソッドがあって柔軟だから、 そっちに慣れちゃうとPython書くときちょっと困るんだよね」と言っていました。 たしかに、Rubyは「配列やハッシュに対してこんな機能があればいいな」と感じたとき、 そのデータ型のリファレンスを…

【Python】Selenium + PhantomJSでPythonからブラウザ画面のスクリーンショットを撮る

WEBサイトの改修を検知するプログラムがそれなりにうまくいきそうなのですが、改修があったときにyamlの文字列を見てもピンと来ません。 kiito.hatenablog.com というわけで、PythonからSeleniumを介してPhantomJSを動作させ、 スクリーンショットを撮ること…

【PyCon】『メタプログラミングPython』を復習して言語の理解を深めよう

PythonのカンファレンスであるPyConJP2016に一般参加してきました。 様々な発表や催しがあったのですが、特に素晴らしかったのが@tell_kさんの『メタプログラミングPython』という発表です。その名の通りオライリーの「メタプログラミングRuby」の内容に沿っ…

【Python】他サイトの改修頻度をチェックするためにHTMLをYAML(っぽい何か)に変換するためのコマンドラインツールを書きました

上司から「サイトがマメに更新されてると、Googleの検索エンジンからの評価が上がるらしいんだけどさぁ、 他サイトの更新頻度をチェックしたり簡単に比較する方法ない?」というふんわりした話題がありました。 単純に考えると、サイトのHTMLを定期的にスク…

【Ruby】PythonプログラマーがRubyを触って感じたこと

Pythonプログラマーというか、元々Python(ときどきR、C言語)で数値シミュレーションをしていた学生が、就職してRubyでWeb開発を行うにあたって勉強したことを書き連ねていくだけの記事です。 もし自分と同じような立場の人(これから後輩としてもどんどん…

【Coconut】Python互換の関数型言語Coconutはパイプ演算子が使えるよ

日頃RとPythonを使っていると、「ああ、Pythonでもパイプ演算子が使えればいいのに」「purrrライブラリみたいにラムダ式が簡単に書ければいいのに」「Pythonのジェネレーター(遅延評価するリストのようなもの)をパイプで渡せると超楽しそう」と思うことは…

【Python】駿河屋の商品一覧ページをスクレイピングするためのライブラリを作りました

アニメグッズやゲーム等、中古商品を取り扱う駿河屋の一覧ページをいい感じに取得するためのライブラリを作りました。 github.com というのも、駿河屋には新着商品チェック機能が(ひととおり探した限りでは)無く、「新着入荷した同人CDをチェックしたい」…

【Python】RプログラマーのためのPython入門

会社に優秀な後輩が入ってきて、優秀な先輩(私でゎない)の助けを得ながら、立派な分析者・Rプログラマーとして成長しつつあります。 しかし、R言語だけで全ての作業が完結できるわけではありません。手元でデータを加工・分析するための環境としては素晴ら…

【Python】GoogleCloudVisionAPIを使って、ホットペッパーの画像で肉々しいお店を判定できないか試してみた

上司から「飲み会のセッティングよろしく!奮発したところで!」という仕事が振られたのですが、そのセッティングや予約を後回しにしてしまい、 直前になってバタバタしてしまっています。 そして、今回の反省を踏まえ、効率よくお店候補を集める方法がない…

【Python】不動産業界のニュースを知るために、 http://fdj2today.exblog.jp/ で紹介されているニュースを転載するbotを作った

こちらの記事の続きです。 kiito.hatenablog.com 不動産について学ぼうとするとき、インターネット上で信頼できる情報源があまり無く、単にニュースをチェックするだけでも一苦労します。 それは、大きなお金が動く業界であり、アフィリエイトまがいの記事が…

【Python】日本の有名Pythonistaを特定するために、Twitterをネットワーク分析してオピニオンリーダーを見つけるライブラリを作った

私はプログラミング言語の中ではPythonが好きなのですが、日本人の有名なPythonistaはほとんど知りません。 そのため、Pythonの最新情報は、R言語やデータ分析に詳しい方から(主にPyData関連を)又聞きするような形でしか追えていません。 例えばGoogleで「…

【Python】Web上にあるpdfのタイトルを取得する(中間報告)

不動産のことよくわかんねーって言ってる友だちがいたので、簡単なスクレイピングのプログラムを書いて、不動産の情報収集を日々行っています。 「urlを集め、htmlの<title>タグの中身(つまりページのタイトル)と一緒に表示する」というロジックです。htmlのparse</title>…

【Python】はてなキーワードAPIを使って特徴語を抽出する

最近、スクレイピングで記事を集めることにハマっているのですが、その記事の中に含まれるトピックなり特徴語なりを簡単にチェックする方法はないかと悩んでました。 例えば、音楽ナタリーから好きなバンドの記事を集めてくる際には、関連リンクのタグを取っ…

【Python】簡単に音楽ナタリーの好きなアーティストの記事を集めるためのライブラリ「nataliechecker」を作りました

音楽ナタリーは素晴らしいサイトなのですが、RSSを登録していると自分の興味のないアーティストまで流れてきてしまい、ちょっと不便に感じることがあります。 そこで、ナタリーのRSSをいい感じに整形してくれるためのライブラリを作りました。 github.com cr…

【Python】最近Twitterを見る暇がないので、Twitterのリストから最新ニュースのurlを簡単に取ってくるライブラリ(らしきもの)を作った

就職して1年も経つと多少は忙しくなってしまいます。つまり、しっかりと意識して自分自身の勉強や趣味の時間を確保する必要があります。 そのため、Twitterについても今までのようにだらだらとタイムラインを眺めるような使い方はできなくなり、 Twitter業務…

【Python】chatworkのAPIを叩くライブラリpychatworkを作りました

Python3.5でchatworkAPIを叩くためのライブラリを作りました。 とりあえず動くやつ作ったので色々と適当です。 github.com こちらの本が参考になりました。 Pythonプロフェッショナルプログラミング第2版作者: ビープラウド出版社/メーカー: 秀和システム発…