ボールを蹴りたいシステムエンジニア

ボール蹴りが大好きなシステムエンジニア、ボールを蹴る時間確保の為に時間がある時には勉強する。

python

scrapyで独自設定値を設定ファイルに追加して利用する

scrapyで独自設定値を設定ファイルに追加して利用する方法。setting.pyに追記 TESTKEY = HOGEHOGE こんな感じで利用 from scrapy.conf import settings ~~~ value = settings.get("TESTKEY") int型、boolean型、float型の指定も出来るみたい。 settings.g…

scrapyでcookieを設定してクロールする

spidersパッケージ内のクロール処理メインのモジュールで以下のようにmake_requests_from_urlを定義してその中でcookieセット処理を実装する事でログインが必要なサイトでもクロールできた。 class ExampleSpider(CrawlSpider): ~~~ def make_requests_fr…

Python製のクローラー「scrapy」の利用方法や初期設定など纏め

Python製のクローラーフレームワークscrapyを使用してクローラーを構築する。 目次 目次 環境 やりたい事 scrapyのインストール 手順 クローラプロジェクトの雛形作成 スパイダーの作成 起点URLを定義 アイテムクラスを実装 パース処理実装 Scrapy Shellによ…

Windowsで最強のPython開発環境を構築するまで【都度更新】

WindowsでのPython開発環境。 試行錯誤の上ようやく落ち着いてきたので纏め。 随時更新する。全然最強じゃ無いじゃん、とかのツッコミは無しで。 目次 目次 環境 希望する開発環境 Python for Windows 64bit PyDev(Eclipseプラグイン) 色々試したがイマイチ…

EclipseのPython開発プラグインpyDevをインストールして使ってみる。

WindowsでのPython開発はVisual Studio Express 2015 Python Toolsを使ってたんだけど、どうやら30日間の評価期間を超えたら使用できないようでしたのでIDE乗り換え。EclipseのプラグインpyDevが良さそうなのでインストールして使ってみる。 環境 手順 おわ…

Windows環境でpythonの機械学習ライブラリscipyのインストールでハマった時の対処

Windows環境でpythonの機械学習ライブラリscipyをインストールしようとしてハマったのでメモ。 環境 事象 対処 ハマった原因 参考 環境 Windows10 64bit Python for Window 3.5.1 事象 事前にnumpyはインストール済みの状態で、pipでscipyをインストールしよ…

jedi-vimをインストールしてvimでpythonコードの補完

気づいたらvimでpython開発をやっている日々。。 開発環境を整えようかと思い、vimのプラグインでpythonコードの補完をしようと思いました。で、pythonコード補完のプラグインを調査してみるとjedi-vimというプラグインがありましたが、インストールの為には…

scikit-learnで実装したナイーブベイズ分類器の実行でDeprecationWarningの警告が出たときの対処

http://qiita.com/ynakayama/items/ca3f5e9d762bbd50ad1f を参考にscikit-learn(サイキット・ラーン)を利用してナイーブベイズ分類器を実装。 多項分布を仮定したMultinomialNBを用いた処理の実行で以下の警告が発生した。 /root/.pyenv/versions/3.5.0/li…

python3でTwitter APIからデータを取得

環境 CentOS6 python3.5 手順 Twitter API Keyを取得する。Twitterアカウント作成後、以下にアクセス。 ※アカウント登録には電話番号のひも付けが必要 https://apps.twitter.com/「Create New App」をクリックweb siteには「http://127.0.0.1」を入力しても…

【python】gunicornとfalconを使ってWSGIサーバを作成してみる

環境 CentOS6 python3.5.1 gunicorn19.6.0 falcon-1.0.0 はじめに gunicornはPython製のWSGIサーバ。 WSGIサーバーとはWEBサーバーとWebアプリケーションをつなぐサーバ。 今回はwebアプリケーションにpythonのWEBフレームワークfalconを利用する。前回の記…

python3のfalconでapiをサクッと作成してみる。

環境 CentOS6 python3.5.1 falcon-1.0.0 はじめに falconはpythonのWEBフレームワークの1つでAPIに特化しており速度が早いらしい。 今回falconを使ってget/postに対応してjsonを返すapiを作成してみる。 手順 falconインストール pip install --upgrade falc…

CentOSでpython3からgensimのdoc2vecを使ってみる(カスタマイズ無し)

環境 CentOS6 Python3.5 手順 toriaezu-engineer.hatenablog.com前回の記事のdoc2vecではデフォルトのdoc2vec,word2vecをカスタマイズするものであり、色々ハマったりWarningログが解決出来なかったのでカスタマイズ無しで使用する方法を調査。 doc2vec利用…

CentOSでpython3からgensimのdoc2vecを使ってみる

環境 VMware Player(CentOS6) python3.5 手順 こちらのsatomacotoさんの記事を参考に進めます。 satomacoto: doc2vecに類似ラベル・ワードを探すメソッドの追加 gensimのdoc2vecを利用します。ライブラリをインストール [root@localhost ~]# pip3.5 install …

CentOSでpython3からgensimのword2vecを使ってみる

環境 VMware PlayerのCentOS6 手順 学習データにはWikipediaのデータを利用。 ライブラリをpipインストール pip install numpy pip install scipy pip install --upgrade gensimwp2txtインストール CentOSにwp2txtインストール - とりあえずシステムエンジニ…

【python3】word2vecでKeyError

環境 Windows10 cygwin word2vec 0.91 pyton3.5.1 事象 こんな感じで「KeyError」ってエラー発生 $ python-windows -i Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MSC v.1900 64 bit (AMD64)] on win32 Type "help", "copyright", "credit…

【Python3】BeautifulSoupでscriptタグ除去

こんな感じで出来た。 body.getText()でタグ含むテキスト文字列を取得 soup = BeautifulSoup(open("hoge.html")) script = soup("script") for tag in script: tag.extract() body = soup.body text = body.getText() script全てをループするのであまり良く…

pythonでのロギング機能を実装してみる。(設定ファイル読み込んでloggerで出力)

pythonを勉強しはじめの頃はprintでログ出力していたが、そろそろ規模も大きくなってきて運用も視野に入れpythonでのロギング機能を実装してみる。標準出力と/tmp/test.logの両方にログ出力する場合の例 ログレベルはDEBUG from logging import getLogger,Fo…

python3でscrapyを使ってWEBクローラー実装

環境 Windows10(64bit) Python3.5 cygwin scrapy1.1 手順 cygwinで作業。 pip-windowsはwindowsのPythonのalias。scrapyをインストール $ pip-windows install scrapyプロジェクトの雛形作成 crawl_testというプロジェクトを作成する。 $ scrapy startprojec…

Visual Studio Express 2015 Python Toolsでデバッグエラーとなった場合の対処方法

Visual Studio Express 2015 Python ToolsでPythonコード中でF9を押してブレークポイントを設定してデバッグ実行。別ウインドウが開いて 「アプリケーションはデバッグモードになっています」 って表示されてブレークポイントでとまらない。。そして下記エラ…

Visual Studio Express 2015 Python Toolsで引数を渡して実行する方法

Visual Studio Express 2015 Python Toolsで引数を渡して実行する方法例として、プロジェクト直下にtest1.py test2.pyのPythonコードがあるとする。test1.pyに引数を渡して実行したい場合は ソリューションエクスプローラーでtest1.pyを右クリックして [Set …

【対処方法】'cp932' codec can't encode character '\ufeff' in position X: illegal multibyte sequence

良く遭遇したエラーなので備忘録。 UnicodeEncodeError: 'cp932' codec can't encode character '\ufeff' in position 0: illegal multibyte sequenceWindow環境でファイルから読み込んだBOM(バイト・オーダー・マーク)付きの文字列を標準出力する時などに…

Visual Studio Express 2015 Python Toolsでコード補完が効かない時の対処方法

事象 Visual Studio Express 2015 Python Toolsを使ってPythonコードを実装しているが「Ctrl + Space」でのコード補完が効かない。 対処方法 対処方法というか以下の操作で解決した。新しいプロジェクト作成、 Pythonの項目から「From Existing Python Code…

WindowsのPythonでMecabを実行する(+Cygwinでも実行する)

目次 目次 環境 注意点 各種パス 手順 Makefile.msvc.in feature_index.cpp writer.cpp mecab.h common.h おわりに 参考 環境 Windows10 (64bit) Microsoft Visual Studio 2015 python3.5(Windows版) mecab-0.996.exe mecab-0.996.tar.gz mecab-python-0.996…

【Python3】PhontomJsを使ってCookieを登録してスクレイピング

PhontomJsを使ってCookieを登録してスクレイピングする。 環境 Windows10 cygwin python3.4 phantomjs-2.1.1 プログラム抜粋 def scraping(url): log_name = "/tmp/phantomjs.log" #ログを出力しない場合はos.path.devnull userAgent = "Mozilla/5.0 (iPhone…

【解決】続・Windows10のpython3.5でlxmlをインストールしようとしたらハマったのでメモ

前回の続き toriaezu-engineer.hatenablog.com 前回の最後のおさらい Wheelファイルからインストールしようとするとプラットフォームが違うよってエラーが発生。 lxml-3.6.1-cp27-cp27m-win_amd64.whl is not a supported wheel on this platform. 続き Whee…

【未解決】Windows10のpython3.5でlxmlをインストールしようとしたらハマったのでメモ

※後日解決しました↓ toriaezu-engineer.hatenablog.com 環境 Windows10 python3.5 手順 コマンドプロンプトからモジュールインストール >pip3.5 install lxmlエラー Command "c:\python3.5\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Use…

【Python3.5】Windows10でpipを利用する

Windows10のcygwin環境でpipを利用する際にハマったのでメモ。 結論から言うとコマンドプロンプトを利用しました。 環境 Windows10 cygwin python3.5 手順 インストール用ファイルダウンロード $ wget https://raw.githubusercontent.com/pypa/pip/master/co…

Linuxにpython3をインストール

最新版のpythonダウンロードhttps://www.python.org/downloads/release/python-352/pythonインストール [root@localhost src]# cd /usr/local/src/ [root@localhost src]# wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz pythonインストー…

【Python】 D100 Missing docstring in public module

python入門の勉強して最初に遭遇した警告。 D100 Missing docstring in public module調べた所、公開モジュールにdocstringで説明がないという警告らしい。 flake8でのコーディングルール規約?ちなみにdocstringとはモジュールやクラス、関数などにつける説…

if __name__ == '__main__':について理解する

pythonのサンプルコードによく出てくるこれ if __name__ == '__main__':色々調査してわかった事を整理する。(半分自己解釈) コマンドラインからスクリプトファイルを指定してPythonインタプリタを起動すると、指定されたファイルは、__main__という名前のモ…

Python Flake8 Lintで特定のpep8ルールを無視

pythonのコーディング規約pep8に準拠してるかのツールPython Flake8 Lintを使用していますが、動作上問題無いけどpep8エラーメッセージが邪魔って事が多々あったので対策。例として以下のエラーメッセージを表示しないようにする。 E225 missing whitespace …

【Python】E225 missing whitespace around operator

pythonのコーディング規約pep8に準拠してるかのツールPython Flake8 Lintでよく遭遇するメッセージ。 E225 missing whitespace around operator演算子(=) とかは必ず空白を入れろいう事らしい。以下の例だと、%と==の前後に半角スペースを入れるとpep8のエラ…

printでのE901 SyntaxErrorとフォーマット

python3の入門で以下を実行すると「E901 SyntaxError」ってエラー?が。 # coding: UTF-8 print("おはよー") print "test"コンソールにも以下のメッセージが表示。 SyntaxError: Missing parentheses in call to 'print'見るからにprintメソッドに対してのエ…

Decode error - output not utf-8

環境 Windows10 SublimeText2 Python3 下記サイトを参考に勉強を開始。http://www.pythonweb.jp/tutorial/日本語入力して実行。 # coding: UTF-8 print("おはよー") 早速エラー・・・ Decode error - output not utf-8C:\Users\ユーザー名\AppData\Roaming\S…

SublimeText2でのpython3開発環境構築

SublimeText2でのpython開発に関して作業効率化の為色々導入。 SublimeText上からpython実行できるよう設定 Tools→Build System→New Build System Python3.sublime-buildという名前で保存。 { "cmd": ["c:/Python3.5/python.exe", "-u", "$file"], "selector…

Windows7でpython3環境構築

自分用なので書き殴りです。ptyhonインストールhttps://www.python.org/ ページ下部の「Download」ー「Windows」クリック 「Download Python 3.5.2」クリックダウンロードしたインストーラー実行。 最初に表示される環境パス通すのチェックはつける。 「Cust…