ScrapyはPython製のオープンソース・ソフトウェア。Webサービスから必要な情報を抜き出したり、自動操作をしたりと未だに利用されているのがスクレイピングと呼ばれる技術だ。求人、不動産、Eコマース…様々なサイトの情報を機械的に収集し、データベースに蓄積している。 Pythonで外部サイトからデータを収集する際に RubyでWebシステムを開発している場合、HpricotやNokogiriを使っていたが、Pythonによる開発の場合はどうしたら良いだろう。そこで使えるのがScrapyだ。ScrapyはPythonで開発されたスクレイピングとクローリング用フレームワークだ。 ScrapyではWebサイトにアクセスしてデータを取得し、そのデータからXPathを使ってコンテンツにアクセスできる。オブジェクト指向に従って、柔軟に操作ができるのが便利だ。スクレイピングしたデータを使ってWebサイ
-c command 指定されたコマンドを実行 script python ファイル (.py) を読み込んで実行 argvs スクリプトまたはコマンドの引数 対話モードで起動するとき、環境変数 PYTHONSTARTUP で指定されたファイルを読み込みます。 よく使うモジュールを import しておくと便利です。 詳しくは チュートリアル 2.1. を見てください。 スタートアップファイルの例: 01: # PYTHONSTARTUP 02: 03: import sys, math, re, os, os.path 04: print 'sys, math, re, os, os.path has been imported.' 2. Python スクリプトの書式 Python スクリプトの書式は以下の通りです。 00: #! /usr/bin/env python 01: # -
コンピュータは少し前においては人間にしかできなかった分野をどんどん可能にしている。単純な計算処理はもちろんのこと、日本語の分かち書きや5W1Hの抽出などをやってのけるエンジンも存在する。フィーリングによっていた解析も可能になっているのだ。 下が変換前、上が変換後の曲。1分に縮まっている 最近ではさらに一歩踏み込み、テキストから音楽の分野に踏み込んだようだ。それを体感できるのがEcho Nest Remixだ。 今回紹介するオープンソース・ソフトウェアはEcho Nest Remix、Echo NestのAPIを操作するPythonライブラリだ。 Echo Nestでは音楽を解析し、別なフォーマットに変換したり操作するAPIを提供している。それを機械的なメタなどなどを元にするのではなく、実際の楽曲データを元に解析する点に特徴がある。これはマシンリスニングと呼ばれる、MITの研究結果によるもの
こんにちは!4月から入社したYet Another Sakatoku、酒徳千尋です。今まで同じクラス、同じ職場に別の「酒徳さん」がいるのを経験したことがないので不思議な気分です。 ウノウでは新規サービスの開発を担当することになったのですが、言語やフレームワークの選択は開発者に任されているということなので、PythonとDjangoの組み合わせで開発を始めることにしました。 PythonでのWeb開発は、日本ではまだメジャーではないと思うので、このウノウラボでtipsや、ライブラリ・フレームワークの使い方を紹介できればと思います。 今回は、僕が入社してから最初に行ったPython開発環境のセットアップについて書いてみたいと思います。 virtual-pythonで開発環境をつくる 開発にあたって様々なライブラリをインストールする必要が出てきますが、通常のPythonのホームディレクトリ、例え
世の中にはテキストエディタがたくさんある。秀丸のような有名なものから、Emacs/Vimのような昔からあるエディタ、それ以外でも個々人、自分の手に馴染んだエディタを使っているはずだ。だが、まだまだテキストエディタを探す旅の途中にある人も多いのではないだろうか。 ブックマークレットを書くように拡張できる そんな旅の途中の方に見てもらいたいのがMetaNoteだ。まだまだこれから発展するであろう、今後期待のテキストエディタだ。 今回紹介するオープンソース・ソフトウェアはMetaNote、Pythonを使って拡張するテキストエディタだ。 MetaNoteの便利な点はIronPythonを使ってMetaNote自体を拡張できる点だろう。ボタンを作成することができ、そのボタンの実装内容をIronPythonで記述する。言わばブラウザにおけるブックマークレット的な使い方ができる。 マクロ機能など、様々
Python Support for Growl http://growl.info/documentation/developer/python-support.php まずGrowl Developer DownloadsからSDKをダウンロードする。 http://growl.info/downloads_developers.php Pythonは標準でサポートされているのでBindings/pythonフォルダに入ってsudo python setup.py installするだけ。 import Growl g = Growl.GrowlNotifier( applicationName='FindNameError', notifications=['SyntaxError', 'NameError']) g.register() g.notify( noteType='Na
現在大学1年生の人で3年後には NAIST に (というか松本研に) 来たいという人から「どんなプログラミング言語やっておくといいですか」と質問されたりするのだが、なかなか答えるのは難しい。自分は Perl → Python がメインでときどき C++/C# を使ったりするのだが、どれが一番いいかはなんとも言えないので、自然言語処理以外に転向する可能性も考えると、C とか C++ とか Java とか(授業でそちらをやるのであれば)を最初の武器に選んだ方がいいのでは、と思ってはいる。 そんなこんなで最近 Hal Daume III (機械学習を用いた自然言語処理では非常に有名な人) のブログで Language of Choice というタイムリーなエントリーが出ていたので、紹介すると、「それなりに大きな自然言語処理のプロジェクトでどのプログラミング言語を使うのか」というアンケート結果が出
今、python界でPyBrainが熱い!…わけじゃないですけど、個人的にけっこう注目しているライブラリ。機械学習ライブラリにおける、期待の新人が出てきなような気持ちです。 0.PyBrainとは?PyBrainっていうのはPythonによって動く、モジュール式の機械学習ライブラリです。python界ではいままでにもニューラルネットワークとかSVMなどを扱うライブラリが存在していましたが、PyBrainではそれらをより包括的に扱う、一種の環境としての機械学習ライブラリを目指しているようです。 PyBrainが優れているのはその思想もさることながら、扱っているアルゴリズムの多さにもあります。例えばFeaturesの欄を見てみると、 BackpropRpropPolicy GradientsSupport Vector MachinesEvolution StrategiesCMA-ESCom
最近、流行りのvirtualenvですが、仕組み的なものにあまり触れられてないように 思えたので書いてみます。 機能 とりあえずvirtualenvの機能は ライブラリがまっさらな状態な環境を作る 作られた環境に対してのみモジュールをインストールできる です。 これを実現する仕掛けはそれほど難しくありません。 (virtualenv自体も基本的に1ファイルのモジュールです。) とりあえず簡単に見ていきます。 ライブラリパス まっさらなライブラリを持った状態のpython環境はどうやって作るのでしょう? pythonは自分自身のパスの上位のlib/pythonx.xをライブラリとして認識します。 (pythonをソースからprefix指定でビルドした事があればわかると思います。) . |-- bin | `-- python `-- lib `-- python2.5 `-- ここが標準ライ
Author:辻真吾(つじしんご) www.tsjshg.info いまは、大学の研究室を主な拠点に、色々やってます。このブログはPythonの話題が中心ですが、どちらかというと日々の仕事で使う知識を、自分のためにメモしたものです。万が一どなたかの役に立てば光栄です。 最近の記事 macでタブレット使う時はInkをOFFに (02/20) SSDで無音NASを作ってみた (12/26) Pythonで学ぶアルゴリズムとデータ構造(講談社) (08/31) Visual Studio CodeのTexでスニペット (12/05) macOS Sierraでsudoしているのに、Operation not Permittedとか言われる件 (10/21) 最近のコメント 辻真吾(つじしんご):ダイクストラ法ですべての最短経路を求める (08/02) 師子乃:ダイクストラ法ですべての最短経路を求
先日書いたMT投稿スクリプト、ほんとはLivedoorブログで使いたかったんだけどなんだかlivedoorでxml-rpcはつかえないっぽい、、、今?はAtomAPIというのを使わないといけないようだ。知らなかったorz で、AtomAPIについては、「はてなブックマークAtomAPI」と「はてなフォトライフAtomAPI」に、わかり易い解説が書いてあったので、Perlのサンプルを参考にAtomクライアントもどきを作ってみた。 #!/usr/bin/env python # -*- coding: utf-8 -*- import random import datetime, time import base64, sha import httplib class AtomClient: def __init__(self): self.endopoint = None self.wss
今日、KevinさんところにBespinの話が出ててそいつを見てて思った。 最近のpython開発環境はこんな感じだろうと。 エディター 軽量なものが好まれてるのはまあどこもみんな同じだろう。 vim emacs TextMate MacだとTextMateを使ってる人がやはり多いっぽい。 ターミナル 素。 screen必須。 必須な理由はvirtualenvでactivateするからかな。 utilityモジュール もうほぼ鉄板でpip, virtualenvを使ってるっぽい。 pip virtualenv paver Bespinの動画ではpaver軽油で色々やってる感じだった。 いろんなタスクがpythonスクリプトでざくざく書けるので流行るかも知れない。 VCS まあこれももう鉄板かも。 git mercurial その他 環境に関係ないけど傾向。 sqlalchemyは市民権を得
E15:oGFx is a tool to generate and explore 3D forms originating from 2D animations. E15:oGFx, or simply oGFx, is an element of E15 -- a blanket descriptor for much of the work that took place in John Maeda's Physical Language Workshop between the years of 2007 and 2008 in the MIT Media Lab. E15:oGFx is, in fact, the first of such projects falling under the "E15" designation, and was developed by K
Webシステム開発を行っているとデバッグメッセージを表示したいと思うことは多々ある。画面にメッセージを出しても良いだろうが、常々使うのであればログファイルなどを利用した方が効率的だ(デザインへの影響もあるので)。 FirebugとPythonをつないでくれる 開発者には見えてユーザには見えない(見ることもできる)、そんな素敵なメッセージプラグインがFirePythonだ。 今回紹介するオープンソース・ソフトウェアはFirePython、Firebugと連携するPythonデバッグライブラリだ。 FirePythonは二つのライブラリが提供される。一つはPython側で利用するライブラリで、もう一つはFirefoxアドオンとして動作するものだ。Python側でメッセージを送信し、それをFirebugが受け取って表示してくれるようになる。 設定画面 PHPでは同様のソフトウェアとしてFireP
Python 2までは、「raise OSError, 'foobarbaz'」という記法が利用できましたが、Python 3では使えなくなっています。ここでも、より明解な文法のみが採用され、古く曖昧に見える文法が取り除かれています。 モジュールの統合や改名 PythonにはPEP 8という変数などの命名ルールを決めた文書があります。この文書には、モジュール名は英小文字で構成することとあります。このように命名規則を設けることで、プログラム中でどんな種類のオブジェクトを扱っているのかが分かりやすくなります。 ところで、Python 2の標準ライブラリの中には、QueueやConfigParserなど大文字で始まるものがいくつかありました。大文字で始まる命名規則はクラスに採用されているため、紛らわしいという議論がありました。 また、urllibとurllib2など紛らわしい名前のモジュールが混
Pythonスクリプトにグラフィカルインタフェースを実装する場合の選択肢としては、多少煩雑になるのは覚悟の上でTKinterなどのGUIプログラミングキットを用いるのが一般的だろう。ただしこの手法を実践するにはコーディングに関するかなり高度なスキルが求められるため、初心者レベルのPythonプログラマにとっては敷居が高いというのが実状である。こうした面倒なコーディングを経ることなく、Pythonスクリプトへの簡易的なGUI機能の組み込みを可能にしてくれるのが、本稿で紹介する EasyGui というモジュールだ。実際EasyGuiを利用した場合、数行のコードを追加するだけでPythonスクリプトをグラフィカル化できてしまうのである。 EasyGuiの能力を実感する最善の方法は、これを用いて手元にある既存のPythonスクリプトを改良してみることだ。本稿ではそのためのベースとして、メモ類、UR
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く