2008-01-01から1年間の記事一覧
BeautifulSoupはHTML解析用のライブラリです。htmllib.HTMLParserやHTMLPaprser.HTMLParserと違い、正しくないHTMLも扱えるようです。これを使ってGoogleの表示順位を調べるスクリプトを書いてみました。 #!python # vim:fileencoding=utf-8 import re impor…
#!python # vim:fileencoding=utf-8 from HTMLParser import HTMLParser import urllib2 from urlparse import urlparse class ExtractTextLinkParser(HTMLParser): def __init__(self): HTMLParser.__init__(self) self.links = [] self.url = "" self.text…
#!python # vim:fileencoding=utf-8 from htmllib import HTMLParser from formatter import NullFormatter import urllib2 from urlparse import urlparse class ExtractTextLinkParser(HTMLParser): def __init__(self): HTMLParser.__init__(self, NullFo…
>>> xs = [5, 8, 5, 1, 1, 4, 2, 4, 3, 2] >>> set(xs) set([1, 2, 3, 4, 5, 8]) >>> sorted(set(xs), key=xs.index) # 順序を維持 [5, 8, 1, 4, 2, 3]
#!python # vim:fileencoding=utf-8 def num2kanji(num): KNUM = [u"", u"一", u"二", u"三", u"四", u"五", u"六", u"七", u"八", u"九"] DIGIT1 = (u"", u"十", u"百", u"千") DIGIT2 = (u"", u"万", u"億", u"兆", u"京") try: num = int(num) except Val…
>>> str = "abcdefg" >>> str[::-1] 'gfedcba' >>> >>> str[0:5:2] # 0番目から5番目までを2つおきに取り出す 'ace' >>> str[-1:-5:-1] # 後ろの4つの要素を逆順に取り出す 'gfed'
今度は正規表現を使わずに書いてみました。 #!python #encoding=utf-8 import urllib import urllib2 import re import os import sys import time save_dir = r"c:\My Documents" interval = 3 def get_video_detail(url): for host, video in VIDEOS.items…
Rubyに戻ってみました。selfを書かなくて済むのはいいんですが、Pythonに慣れてきたせいか、endを書くのが少し面倒になってます。後、インスタンスごとにメソッドの振る舞いを変えられるのはいいです。新しくクラスを作らなくて済みますし。 #!ruby require …
class SuperClass: def __init__(self, x): self.x = x def show(self): print "x:%s" % self.x class SubClass(SuperClass): def __init__(self): SuperClass.__init__(self, 3) c = SubClass() c.show() サブクラスのメソッド内で、同名のスーパークラスの…
wgetでYouTube、Veoh、Dailymotion、AmebaVision、YourfilehostからFLVファイルを落とします。ただし、ログインしないと見れない動画は落とせません。 #!python #encoding=utf-8 import os import sys import re import urllib import urllib2 import time s…
Ctrl-R " レジスタの値(dd/yyで削除/コピーした値)を貼り付け Ctrl-R + クリップボードの値を貼り付け
文字列の挿入 a カーソル位置の後に文字列を追加 A 現在行の末尾に文字列を追加 i カーソル位置の前に文字列を追加 I 現在行の最初の非空白文字の前に文字列を追加 o 現在行の下に文字列を追加 O 現在行を下に1行ずらし、空いた行に文字列を追加 文字列の削…
上下左右にN桁移動 N l N桁右に移動 N h N桁左に移動 N k N桁上に移動 N j N桁下に移動 N gk 見た目の行でN桁上に移動 N gj 見た目の行でN桁下に移動 行を折り返す設定にしている場合、長い行は以下のように表示されます。 5 XXX Perhaps there should be a …
ニコニコ動画ダウンローダ - odz bufferを参考にして、以前作ったニコニコから動画を落とすスクリプトを少しばかり修正しました。 デフォルトでCookieを"nico-cookie.txt"から読み込む ログインしていなければ、ログイン後、Cookieをファイルに保存 スクリプ…
>>> class Point: # クラス定義の開始 ... format = "%s [X:%s Y:%s]" # クラス変数 ... ... def __init__(self, x, y): # メソッドの定義 ... self.str = "Point" # インスタンス変数 ... self.set(x, y) ... ... def set(self, x, y): ... self.__x = int(…
勉強がてら、ニコニコから動画をダウンロードするスクリプトを書いてみました。一応、コメントとヘルプメッセージは英語にしてみましたが、正直、そこが一番自信がないです。というかプログラムそのものよりも、どういうメッセージを表示するかの方が悩みま…
>>> n = 1000 >>> format = "%%%dd" % len(str(n)) >>> format % 10 ' 10' この書き方だと%が多くてわかりにくいと思っていたところ、 >>> n = 1000 >>> size = len(str(n)) >>> format = "%*d" >>> format % (size, 10) # フィールド幅、値の順 ' 10' こう…
from optparse import OptionParser, OptionValueError import os # スクリプトの使用方法を表す文字列 # デフォルト値は"Usage: %prog [options]" # "usage: "で始まらないと自動的に"usage :"が追加される # %progはスクリプト名で置換 usage = "usage: %p…
urllib2モジュールでCookieを使ったWebへのアクセスは以下のように行います。 import urllib2, cookielib cj = cookielib.CookieJar() # Cookieを格納するオブジェクト cjhdr = urllib2.HTTPCookieProcessor(cj) # Cookie管理を行うオブジェクト opener = ur…