Python Tips
主にScrapyでお世話になっているPythonのメモ。LL言語では長らくPerlを使ってきましたが最近はPythonも使っています。所詮は慣れなのでしょうがPerlとの微妙な違いでハマることが多くメモしておきます。
環境はWindows10 Pro x64、Python 3.8.2です。
導入
公式からpython-3.8.2.exeをDLしてインストールしたらpathを追加して古い3.6(VS2017)の方は削除する。
PS> python -V Python 3.8.2 PS> pip install --upgrade pip // pip自身を更新するとき
Python使ったPerl使いあるある
# 全部自分のことです :)
- 文末にセミコロン ; をつけてしまう
- 条件節にコロン : がついていない
- インデントにスペースとタブが混在
- elsifがelif
- ++、--がない
- 中カッコ { } がなくて気味が悪い
- そのくせPerlの三項演算子や省略形のif文は使う
- 正規表現で$1、$2 …が使えない
- re.matchが前方一致と知らずに使う
- osパッケージ名に違和感を感じる
- メンバ関数のパラメータにselfをつけ忘れる(shiftしかしないんだもん...)
- でもモジュールがcpan並かそれ以上に豊富なのは嬉しい
しょーもないことで時間を浪費してるな…
日付文字列の取得
import datetime today = datetime.date.today() # 日付のみ now = datetime.datetime.now() str = now.strftime("%Y/%m/%d %H:%M:%S") print(str) print("{0:%Y-%m-%d %H:%M:%S}".format(now)) str = "[%04d/%02d/%02d %02d:%02d:%02d] " % (now.year, now.month, now.day, now.hour, now.minute, now.second) print(str)
Scrapy
WebDriverはGeckoDriver(Mozilla)をダウンロードしてc:\bin\geckodriverなどにexeを配置する。
PS> pip install scrapy // scrapyをインストール PS> pip install pdfkit // 他に必要なものをインストール PS> pip install extractcontent3 // ExtractContext PS> pip Install bs4 // BeautifulSoup PS> pip install selenium // Selenium PS> pip install html5lib // パーサ