Python
Scrapyは、Python製のスクレイピング用フレームワークです。 Scrapyのアーキテクチャ・設計を見ることで、Scrapyの内部で何が起きているのか、その全貌をざっくり理解しましょう。
Scrapyは、Python製のスクレイピング用フレームワークです。 Scrapyのごく簡単なチュートリアルを紹介しつつ、Scrapyを使用するメリットについて、考察します。 BeautifulSoupや、Seleniumだけでは足りない処理とは。。
Sphinx とは Python製のドキュメント生成ツール。 特徴としては以下の通り。 reStructuredTextで記述する(プラグインの導入によりMarkdownも可) ドキュメントを複数ファイルに分けて管理することができる 実体はプレーンテキストなのでGit等でバージョン管…
NCBI Entrez は、30以上もの生物学的な目的で作成されたデータベースに対する統合的なテキストベースの検索、情報抽出システムです。 BiopythonパッケージのBio.Entrezモジュールを使えば、このシステムをpythonから手軽に使えちゃいます。 ちなみに、Bio.En…
と言われた。 そうか。これは綺麗なコードじゃないのか。 いいだろう従おう。 ほしい関数 リストを受け取り、偶数個ずつリストで返すジェネレータ関数。 以下みたいな挙動を示すreturn_even_listを実装したい。 list1 = [1, 2, 3, 4, 5, 6] for i in return_…
アンダースコアなのかアンダーバーなのか そんなことはどっちでも良い。 問題はpythonでアンダースコア(アンダーバー)がよく登場することだ。 お品書き。 1つのアンダースコアから始まる属性名(_var) 2つのアンダースコアから始まる属性名(__var) 1つ…
Pythonプロフェッショナルプログラミング 第3版作者:株式会社ビープラウド秀和システムAmazon これすんごい良いです。 まだChapter 06までしか読んでないんですけども。 すんごいよさそうです。 プロフェッショナルプログラミングだからプロプロって呼ぶんか…
__pycache__ というディレクトリがそろそろ気になってきた。 なんか気づいたらできてる。 なんなんだこれは。 以下で議論されていた。 python - What is __pycache__? - Stack Overflow 要点をまとめると。 ファイルをインポートした際にできる python compi…
グラフを並べて表示したいとき、 2つの方法がある。ほかにもあるかもだけど2つの方法を知っている。 matplotlib.pyplot.subplotsを使う fig, axes = plt.subplots(figsize=(10, 10), nrows=2, ncols=4, subplot_kw={'adjustable': 'box-forced'}) axes には …
今友達からbed365 というサイのスクレイピングを任されている。ブックメーカーで有名なサイトだ。ここのデータを集めて解析したいらしい。 スクレイピングでは基本ChromeDriverを使って行っているのだが、久しぶりに動かしたら、以下のようなエラーが度々表…
1.1 Introduction %%writefile IPython magicコマンド。テキストファイルの作製。 インラインの数式は$...$ を使って記述。 独立した数式は $$...$$ を使って記述。 HTML() 、SVG() 、YouTubeVideo() nbviewerを使ってIPythonで生成したJSONテキストを公開可…
Biopython Tutorial and Cookbookの和訳を行ってる最中。 >>> from Bio import SeqIO >>> for seq_record in SeqIO.parse("ls_orchid.gbk", "genbank"): ... print(repr(seq_record.seq)) Seq('CGTAACAAGGTTTCCGTAGGTGAACCTGCGGAAGGATCATTGATGAGACCGTGG...CG…
つまりn個からr個取り出す組み合わせというやつ。 これをPythonで書きたい。 そんなときは高階関数reduceを使う。 import operator as op def ncr(n,r): r = min(n-r,r) if r == 0: return 1 num_over = reduce(op.mul, xrange(n, n - r, -1)) num_under = r…
昨日任された業務を紹介しよう。 Web上でパワポの内容をWebページで見れるようにして! というものだ。 こんなとき、MkDocsがとても便利。 MkDocsの公式に飛ぶ。 サイト自体がMkDocsで作られてる。 こんなページがMarkdownでお手軽に作れるのがMkDocs。 いち…
インターンの方でWebスクレイピングが必要になったので、お勉強。 shop.oreilly.com このHTML中の <tr class="gift" id="gift1"><td> <tr class="gift" id="gift2"><td> <tr class="gift" id="gift3"><td> <tr class="gift" id="gift4"><td> <tr class="gift" id="gift5"><td> をとってきたいんだけど、 from urllib.request import urlopen from bs4 import BeautifulSou…</td></tr></td></tr></td></tr></td></tr></td></tr>
unicodedata モジュールが便利そう。 unicodedata.name(chr[, default]) 文字 chr に付いている名前を、文字列で返します。名前が定義されていない場合には default が返されますが、この引数が与えられていなければ ValueError を発生させます。 unicodedat…
最近checkiOというものにハマっておりまして。 いや嘘だ、最近始めてハマりだしてまして。 様々な問題に対して海外の色んな人が書いたコードを見ることができるんですが、そこでちょっとした新しい発見をしたのでメモ。 問題は、典型的なFizzBuzzテスト。 つ…