python

まだまだ使えるニコニコ動画ダウンロードスクリプト

id:spacecadet:20070814:1187106008 新形式H.264でのアップロードが可能になったニコニコ動画ですが、大昔に作ったものがまだ使えて一安心。ダウンロードしたものには勝手に.flvの拡張子を付けてしまうので、愛用のMPEG StreamClipでは再生してくれませんで…

「痛み」を生成したpythonスクリプトのソース

標準マクロに比べて配列を使えるところがちょっとやりやすいです。 あと、私はひとかたまりずつ打っては再生しつつ作業するので、だんだん長くなってくると途中から再生できた方がいいなと思うことがあります。 pythonを使うことで、要らない行をコメントア…

やっぱり恋しいPLAY文

N66Basicの時代にPLAY文で死ぬほどMMLをやってきたためか、やはり逐行実行のほうが生産性が上がるかもしれないということに思い至りました。そこで助っ人としてpythonを久々に使用して、こんなものを。 #coding:shift_jis import os,string #空の配列を8ト…

ニコニコ動画ダウンロードスクリプトその後

最近ニコニコ側で仕様変更があったそうですが、python版で素晴らしいものを作られた方がおいででした。 id:y_yanbe:20070827:1188160390 wgetみたいなプログレスバーまでついているって凄いです。なお、私が前作ってみたおんぼろスクリプト(with mechanize)…

pythonでニコニコ動画のflvをダウンロードする

Perlでニコニコ動画のflvとコメントxmlをダウンロードするという記事を拝見しまして、「pythonでもできないかなー」と思ってやってみました。 コメントは今回省略しましたが、flvまではmechanizeモジュールの力を借りて成功…したと思います。pythonのmechani…

Workshop雑感(1)Mac使ってる人がすごく多かった!

ノートマシンを持って来ている人の中ではWin1:1Macぐらいの割合 (私含む)発表者8人中7人6人がMacBook/MacBook Pro使用 最近一気に増えたらしい 飲み会の余韻でまだ頭がぼーっとしているので、もう少し落ち着いたら色々書きます。

東海 Python Workshop 01行ってきました

そしてなんとライトニングトーク*1まで、PAMIEネタで無謀にも敢行しました! 「ぱいそん」とか「ぱみー/(PAMIE)」とか「ゆーあーるえるりぶつー(urllib2)」とか、口に出して発音するのが初めての言葉ばかりで結構噛みましたが。 小田切さんはじめ主催者の皆…

Chandlerのプラグイン群

「Chandler」というものの存在を初めて知りましたが、WxPythonを利用したOutlook風のソフトだそうです。 Chandler-FlickrPlugin 0.2-r14271(2007/05/11 22:16) Chandler-FeedsPlugin 0.3-r14264(2007/05/11 22:15) Chandler-EVDBPlugin 0.2-r14257(2007/05/1…

feedparserについて

http://d.hatena.ne.jp/g7umz1cuwvsy/20070502/1178110615 触発されて作ってみました。(Windows専用) 配列placetogoに格納したRSSフィードを集めて、/デスクトップ/新着(time).txtにタイトルとURLのコレクションを作ります。

実行ファイルを作るbbfreeze0.92.0

概要 http://cheeseshop.python.org/pypi/bbfreeze/0.92.0 特徴: インストールが楽 setuptoolsが使えるよ 必要なバイナリを自動で取り込めるよ 複数のスクリプトをexeにできるよ pythonインタプリタが含まれるよ 'py'という実行ファイルが生成されるよ、こ…

PAMIEによるはてな自動投稿のルーチン

'C:??hoge??diary.txt'の中身をそのまま投稿フォームに転記して書き込みます。 IEを自動運転するので、定期的に投稿する限り改めてログインする必要は本来ない(そもそも「ログイン」と表示されない)のですが、PAMIEは入力できないフォームがあっても警告メ…

RSSフィードとはなんぞや

RSSとはなんだろうと思ってこんなモジュールをインストールしてみた。 >>> import feedparser >>> feed =feedparser.parse('http://d.hatena.ne.jp/hoturl?mode=rss') >>> feed.get で、こんなものが出て来た。後で解析しよう。眠い。

自動トレードシステム本体(2)

買い注文部 codeを指定してunitValue円だけ買う部分です。 def purchaseOrder(code): ie.navigate('https://s20.si1.stockcompany.com/Buy/BSelect.asp') ie.navigate('https://s20.si1.stockcompany.com/Buy/BP01101.asp?StockCode=%d&Market=20' % code)こ…

自動トレードシステム本体

かなり間が空きましたが、PAMIEを利用した自動トレードシステム本体を載せます。構築例ということで、実際に使っているものとはコード等を微妙に変更してあります。このまま実行しても使えませんので、その点ご留意願います。 冒頭部 #coding:cp932 import c…

PAMIEのメソッド紹介(概説)

PAMIEのメソッドのほとんどは「何を」+「どうする」という名前がついています。すなわち、リンクをクリックするのは「linkClick」で、ボタンを押すのは「buttonClick」で、テキストボックスに値を入れるのは「textBoxSet」となります。 「何を」の中身にはl…

PAMIEのインストール

site.pyを書き換える(非推奨) 352行め、「encoding = 'ascii'」となっているところを「encoding = 'cp932'」と書き換えます。defaultencodingの変更は他に正しい方法があったと思いますので、その方法をご存知の場合はそちらをお勧めします。 win32allモジ…

IE自動操作いろいろ

なぜIEか PerlにもPythonにも、ブラウザ依存でないWebページ巡回ツールがあります。mechanizeなどがそれにあたります。また、Pythonはurllib2などの純正モジュールなども利用可能です。 しかし、IEそのものをコントロールすることにより、 IE専用のサイト ボ…

作ったデータベースと関数

ここまでで行数は計170行弱。 データベース class stockPrice(SQLObject):株価データ収納 class signsDb(SQLObject):各種指数収納 class stockBuy(SQLObject):買った銘柄の履歴収納 関数(データ操作) def wget():外部サイトから株価データをもらってくる→L…

売り指示

今回でデータベース周りのプログラムは一段落。 def posSell(): positions =[]空の配列positionsを作る。 boughtStocks= stockBuy.select(stockBuy.q.code) for x in boughtStocks:positions.append(x.code)買った銘柄DBのstockBuyからデータを取り出し、銘…

買い指示

class stockBuy(SQLObject): code = IntCol() buyPrice = IntCol() qty = IntCol()買い指示を立てた銘柄のコード、買った値段、数量を収納するDBを作成。 def posBuy(): positions =[]買っている銘柄一覧を収納する配列positionを初期化。 boughtStocks= sto…

サインを立てる

前回作成したデータ収納関数、 def signsPut(searchCode): に対して毎日データ更新をしていく関数を作成する。 def signsUpdate(): signsDb.dropTable(ifExists = True) signsDb.createTable()豪勢にも、以前に作ったsignsDbが存在していたら(ifExist = True…

SQLObjectがメモリを激しく消費する

Dell助手に株価取得とデータ蓄積の仕事を任せるようになったが、まだまだ20MBほどのデータベース(件数は30万件オーバー)なのにずいぶん遅いことに気がついた。パフォーマンスモニタを見るとだんだんpythonの消費メモリが増えて行って、最後には「仮想メ…

いろいろな指数を割り出す続き

昨日作成したもの 各種指数収納DB class signsDb(SQLObject): 平均値を求める関数 def average(values): ボラティリティ(正確なものではないが)を求める関数 def ratediv(values): の3つを作った。(昨日分) 今日作成するもの def signsPut(searchCode):…

株価データからいろいろな指数を割り出す

モジュールインポートなど # -*- coding: shift_jis -*- import re,os,string import datetime from calendar import * from sqlobject import * import csvrootDir = '/Users/*****/Desktop/kabu/'ここで前回までと一部変更。データベース接続関数connectDb…

株価データを取り込む

モジュールインポート、グローバル変数 sqlobject以外は標準モジュール。 # -*- coding: shift_jis -*- import re,os,string import datetime from calendar import * from sqlobject import * import csvrootDir = '/Users/*****/Desktop/kabu/' データベー…

データベースの設計

いただいてきた日足データのフォーマット 2006/01/04,1802,1,883,885,878,885,2543000左から日付、銘柄コード、市場区分(1=東証1部)、始値、高値、安値、終値、出来高の順に並んでいる。まずはこのデータを格納するSQLiteのデータベースを作ることになる…

取得してきたLZHファイルを解凍する

コード全体 # -*- coding: shift_jis -*- import re,os,string rootDir = '/Users/******/Desktop/kabu/'def lha(): fileList = os.listdir(rootDir) for i in fileList: if re.search('?.LZH',i): os.popen('lha -x %s' % i) os.remove(i)if __name__ == '_…

wgetで株価データを取得してくるルーチン

コード全体 # -*- coding: shift_jis -*- import os from calendar import *targetURL = 'http://www.targetURL/data2006/' #↑blog記述用ダミーURLですdef wget(): monthList =(1,2,3,4,5,6,7,8) for i in monthList: for m in range(1,monthrange(2006,i)[1…