萬九郎の硬い船

プログラミング学習記録など

2017-05-01から1ヶ月間の記事一覧

Python3でScrapyを使う

『PythonによるWebスクレイピング』には、 残念ながら、Scrapyは、Python2.7では動きますが、Python3.xバージョンはまだリリースされていません。 と書いてあり、ウワアめんどくせえ、これが複数バージョンのPythonを仮想環境で分離するとよいと…

urlparseでURLを分解する/組み立てる

urllib.parseのurlparseを使うと、受け取ったURLを解析して分解したり、組み立て直すことができる。 urllibについては、本の冒頭で「繰り返し出てくるからドキュメントを読んでおけ」とあったとおり、細かい部分は一切説明がないので、メモしておく。 scheme…

肩の力を抜いてみることにする

少し考えて、とりあえずいま取り組んでいる本を投げ出さないことにした。なにしろ、まだPythonに関してcodeacademyの無料コースを修了した程度の理解しかできていない状態なわけで、専門的な内容の本を読む上でわからないところが出てくるのは当たり前だ。 …

なんだかいちいちつまずいてしまう

Wikipediaの日本語URLのエスケープの件でハマったり、『PythonによるWebスクレイピング』を細かい部分まで噛み締めて読み進めようとすると、なんだかいちいちつまずいてしまう。もしかしたら、何かもう少しやさしい参考書を読んだ方がよいのではないか?とい…

Pythonの命名規約について知っておく

BeautifulSoupのドキュメントの中で、classがPythonの予約語であるためclass_という名前で代用する、というのが出てきたが、これはPythonのコーディング規約であるPEP8の中の 関数の引数名が予約語と衝突していた場合、アンダースコアを引数名の後ろに追加す…

関数内でグローバル変数に代入する場合はglobal宣言を使う必要がある

Pythonでは、関数内でグローバル変数に値を代入する場合はglobal宣言を使う必要がある。たとえば a = "何か" def local(): a = "別の何か" print(a) local() print(a) とした場合、local()は"別の何か"を出力する(関数内のaはローカル…

BeautifulSoup4のfind()とfind_all()について理解を深める

BeautifulSoup4のメソッドfind()とfind_all()について、ちゃんとごまかさずに理解しておかないと後々困りそうな気がした。 せっかくなので、ドキュメントの該当部分をちょっと自力で訳してみて知識を定着させようと思う(以下訳文)。 ツリーの検索 Beautifu…