読者です 読者をやめる 読者になる 読者になる

歩いたら休め

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

Python

【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版作者: ビープラウド出版社/メーカー: 秀和システム発…

【Python】chatworkAPIを叩くとき、requestsライブラリを使うと楽だった

以前、こちらの記事を参考にchatworkのAPIを叩くプログラムを書いてましたが、自分のOSXのpyenvでpycurlがうまく動作せず、pyenv上のPython3系に移行させる際に不便そうでした。 qiita.com しかし、Pythonのrequestsライブラリを使うことで、更に簡単にPOST…

【Python】不動産のドメイン知識を得るために、業界の方々が紹介しているリンク集を自動投稿するブログを作った

データ分析にはドメイン知識が必須です。 せっかく一生懸命分析しても、「あ、その結果ってそうなんだよ!でもありがたいけど、当たり前すぎて役にたたないなあ…」と言われ、がんばった成果が無駄になってしまうことも度々だとか。 売上がアップしても、その…

【Python】KING OF PRISMが素晴らしかったのでテキストマイニング環境を整えてみた

みなさんは現在放映中の映画KING OF PRISM by PrettyRhythmを観ましたか? kinpri.com 2014年に放送終了した女児向けアニメプリティーリズム・レインボーライブのスピンオフで、男性キャラにフォーカスしたストーリーが展開されています。監督を始めとする、…

【Python2】弊社のコーポレートサイトが更新してたらChatworkに通知するbotを作った

私、ずっと弊社にいたのに、弊社のこと全然分かってあげられてなかった…。 「他の部署が面白いことやってるのに、社長が話してて初めて知った!」ってことが多かったので、 弊社のコーポレートサイトが更新したらChatworkに通知するbotを作りました。 Chatwo…

【Python2】Twitterの検索結果を自動でリツイートするbotを作りました

@kayourockというアカウントを運営しているのですが、 ここ1年以上、ツイートの内容も更新できないし、自分の力で音楽をdigる時間も少なくなってきてしまいました。 twitter.com 歌謡曲のようなノスタルジックなメロディーのロック/ポップスを紹介。日本なら…

【Python2】Python2.7 + zbar + PILでプリチケのQRコードを隠すプログラム

こちらのプログラムがひとまず完成しました。 kiito.hatenablog.com プリチケのQRコードを隠すプログラムが完成した pic.twitter.com/yBe59HMYnh— 黒めだか (@takeshi0406) December 3, 2015 やっている事自体は簡単なので、zbarを使えれば他の言語でも可能…

【Python】PV数、UU数を出すSQLのクエリを作る関数を作った

最近、Google BigQueryにクエリを投げる毎日です。 社内のデータをBigQueryで一元管理しようとしているため、過去に使われていたクエリの絞り込み条件を移植し、それぞれの絞り込み条件でPV数とUU数をひたすらチェックするという面倒くさい作業をしています…

【Python】音楽ブログをFC2からはてなに移転しました

音楽ブログをFC2ブログからはてなブログに移転しました。 sakana38.hatenablog.com 最近のFC2アカウントの凍結騒ぎ等、FC2がいろいろとキナ臭そうなので。Amazonリンクが使えなくなったりと、年々サービスとして使いづらくなってましたし。 news.yahoo.co.jp…

【プリパラAdventCalender】Pythonの画像処理でプリチケのQRコードを隠せるかどうか試してみた

プリパラ &amp; プリティーリズム Advent Calendar 2015 - Adventarの3日目です。 プリチケの写真を撮ったら、自動でQRコードをかわいく隠してくれるアプリがあると便利だよねって記事です。 プリチケの写真ファイル(png形式)を指定すると、自動でQRコードを…

【Python】Pelican + GitHub Pagesでプロフィールページを作ってみました

Python製の静的サイトジェネレーターPelicanを使って、github.ioのページを作ってみました。 https://takeshi0406.github.io/ ほぼこのページの通りにやっただけです。 Pelican + Markdown + GitHub Pagesで管理するブログの作り方 - blog@sotm.jp 似たよう…

【Ruby】Effective Rubyの項目19 『ruduceを使ってコレクションを畳み込む方法を身に付けよう』のメモ

普段はPythonユーザーなのですが、仕事ではRubyを扱う機会が増えてきました。 Perlから受け継いだTMTOWTDIの思想とか、書いてて勉強になり、楽しい言語です。 関数の定義に必ずしも()が必要なく、関数が変数と同じように扱えるところとか、 「ここインスタン…

【Python】Twilog + Pythonで他人の過去の全ツイートを取得するコード

statsbeginner.hatenablog.com を書いている方がいたのですが、BeautifulSoupとリスト内包表記を使えばもう少し楽に書けるということを示すために書きました。 参考資料 PythonとBeautiful Soupでスクレイピング - Qiita import time from urllib import req…

【ABM】鳥海先生のメタ規範ゲームの話を聞いて、実装しようとしてみた(いくつかわからない点があるけど)

@zaoriku0さんから鳥海不二夫先生がされていた発表の話を聞きました。SNSが流行るかどうかの必要条件を、ゲーム理論を使って説明できないか、という趣旨の研究のようです。 社会シミュレーションの先駆者のAxelrodの論文が基になってるようです。 SNS とゲー…

【Python】R言語を勉強するために「言語処理100本ノック」をPythonで解いてみる

会社の先輩から「これ使ったらいい感じにデータ取ってこれるよ」と渡されたものが、 dplyrとかstringrとかよくわからないパッケージをガンガン導入した自由奔放なRのコードで困っています。 R言語自体にも慣れていないため、 「コードを使って何を表現したい…

【Python】誰か慶應大三田キャンパスで行われる『PythonによるWebスクレイピング講習会』に参加して発表資料を共有してくれ

同期から共有してもらったのですが、『PythonによるWebスクレイピング講習会』というイベントが10/13(火)・10/19(月)に開催されるそうです。 [講習会]PythonによるWebスクレイピング講習会(要申込・全2回)を、10/13(火)・10/19(月)16:30~19…

【Python】Yahoo!天気をクロールして東京の過去のお天気データを取れました

これの続きです kiito.hatenablog.com import csv import time import urllib.request from bs4 import BeautifulSoup # 年月日を作成 years = range(2010,2016) months = range(1,13) days = range(1,32) dates = [[c,m,d] for c in years for m in months …

【Python】Yahoo!天気をクロールして各県の過去のお天気データを取りたかった

過去の各県のお天気データが欲しかったのでYahoo!天気をクロールしてみようとしています。 まずは地域×年月日のURL一覧を列挙してみました。 気象庁のデータが理想だったのですが、いちいちダウンロードしないといけないやつで困っていたのですが、Yahoo!天…

【Python】ipython notebookじゃなくてjupyter notebookで起動するようになってた

8月14日にリリースされたipython 4.0からiPythonとJupyterが分離されているそうです。 GUIを備えたPython実行環境「IPython 4.0」リリース | OSDN Magazineosdn.jp Python向けの「インタラクティブな操作に向けた高機能シェル」をうたう「IPython」開発チー…

【Python】Pythonのmap関数とreduce関数でちょっとしたリスト操作を楽にする

SoftwareDesign8月号に関数型プログラミング特集があり、その中に『Pythonで見る関数型言語の本質』という素晴らしい特集があります。 ソフトウェアデザイン 2015年 08 月号 [雑誌] 出版社/メーカー: 技術評論社 発売日: 2015/07/18 メディア: 雑誌 この商品…

【Deep Learning】Google Deep Dreamのソースコードが公開される→早速Webインターフェイスを実装した方が現る

最近話題になっている、Google Deep Dreamのソースコードが公開され、早速Webインターフェイスを実装した方が現れました。 ラボで人工知能が見る夢、Google Deep Dream用のウェブインターフェースを作ったので公開しました。写真をアップして人工知能に夢を…

【Python】『小飼弾のコードなエッセイ』に書いてた掛け算の実装

本屋で見かけて面白そうだったので買ってきました。 小飼弾のコードなエッセイ ~我々は本当に世界を理解してコードしているのだろうか? (Software Design plus) 作者: 小飼弾 出版社/メーカー: 技術評論社 発売日: 2013/04/16 メディア: 単行本(ソフトカバ…

【メモ】Cythonのオライリー本が出る

Cython ―Cとの融合によるPythonの高速化 作者: Kurt W. Smith,中田秀基(監訳),長尾高弘 出版社/メーカー: オライリージャパン 発売日: 2015/06/19 メディア: 大型本 この商品を含むブログ (2件) を見る

【Python】scipyとmatplotlibでベータ関数を描画

続パタの第4章にあるベータ分布のグラフを描画してみました。 続・わかりやすいパターン認識―教師なし学習入門― 作者: 石井健一郎,上田修功 出版社/メーカー: オーム社 発売日: 2014/08/26 メディア: 単行本(ソフトカバー) この商品を含むブログ (2件) を…

【機械学習】『続・わかりやすいパターン認識』第2章のベイズ更新(ベイズ学習)のシミュレーション

一回ちゃんと勉強しようと思って『続・わかりやすいパターン認識―教師なし学習入門―』を勉強しています。とりあえず図を本の中で描かれてるグラフを再現しながら勉強しています。 from matplotlib.pyplot import * import numpy as np np.random.seed(10) #…