Entries from 2018-01-01 to 1 year
Cancelling Your Subscription Subscriptionのページで下のボタンでキャンセル項目がある。 進むとconnect itボタンがある。 キャンセルを確定させると それでは実際にcancel.htmlをみる。 かなりシンプルなので解説はない。 次にbilling.pyを確認する。 以…
Signing up with Stripe なぜstripeを使うのか。 以下の3社があるがStripeが良い。 Stripe PayPal SPIKE Paypalはアカウント持ってないといけない。 APIが優れている。 IDを作る Going over the requirements.txt Changes 新しく以下の2つを導入する。 mock…
Dockerに関して 全体的な動きやそのほか全くわかってないのでどんどん動かす。 Image vs Container Dockerfile イメージの作成手順のようなもの Dockerイメージ コンテナのファイルシステム、設定をひとまとめに保存しています。コンテナの元になるもの。 コ…
Preparing your system for Docker 以下でそれぞれダウンロードしてインストールする。 Download VirtualBoxhttps://www.virtualbox.org/wiki/Downloads Download xubuntu 14.04.3http://cdimage.ubuntu.com/xubuntu/releases/14.04/release/xubuntu14.04.3…
Creating Secure Tokens 以下のコマンドでsecret keyを生成することができる。 短いキーを作ることもできる。 $ docker-compose exec website snakeeyes secret $ docker-compose exec website snakeeyes secret 64 cliフォルダー/コマンドフォルダー/cmd_se…
Tracking Response Times for All Requests(gunicorn.pyに関して) 以下を実行すると docker-compose up --build 1000で割れば秒表示になるのでマイクロセコンドで表示する。 今回の場合だと2.844秒かかったとわかる。 configフォルダーのgunicorn.pyで確認…
Why Are We Not Using Flask-Admin? ①カスタマイズに関してより知識を深めるため。 ②デバッグでテストする際に何千行も書かれた3rd partyを使うべきでない。 ③大して難しくない。 Adding the Admin Blueprint Viewing the Main Dashboard Section12からAdmin…
requirements.txt に関して psycopg2はpostgresqlのデータベースと接続する。 Flask-SQLAlchemはextentionを簡素化する。 Flask-Loginはログイン機能のextentionである。 Configuring the App to Handle Users SQLAlchemyを使うには接続するための情報を設定…
requirements.txtに追加する。 Celeryを使えばタスクを別のスレッドやマシンに分散することができる。このタスクを分散させる仕組みをタスクキューといい、Celeryのプロセスは新しいタスクが入ってきていないかタスクキューを監視する。よくわからんけど、re…
requirements.txtに追加する flaskのdebug toolを追加する。 このツールバーを使うことで、何秒かかったとか、データベースに何回アクセスしたとかそういうことがわかるようになる。 # Extensions. flask-debugtoolbar==0.10.0 Debug Toolbar Dockerを起動さ…
なぜCLI Scriptが必要なのか? 簡単だから。flagやコマンドを思い出すのは複雑で難しい。 section9では、以下のコードを追加する。 これによってCLIが使えるようになる。 # CLI. Click==6.4 次にsetup.pyである。flaskではない。python的なやり方である。 Do…
ここでは、テストコード作成方法についてまとめる requirements.txt でテストに必要なものを準備する pytest=プログラムをテストするためのフレームワーク。処理時間を測定など色々 pytest-cov=何パーセントの確認したかを表示する flake8=Pythonプロジェク…
Creating Our First Flask Blueprint 早速、blueprintを設定した場合のapp.pyファイルを確認してみる。 @app.route('/')で登録されていたモノが app.register_blueprint(page)に変わっている。 ブループリントを使う場合は、フォルダー内もかも変わる。 snak…
Exploring the App's Package Dependencies requirements.txtを変更するだけ変えることができる。 You can just change the 0.10 to 0.11 in requirements.txt and you’re good to go. Flaskのapp.pyに関して flaskをインポートする functionを作る: def cr…
なぜDocker? Save Yourself from Years of Turmoil by Using Docker Today — Nick Janetakis Dockerとはコンテナと呼ばれる環境の内部でLinuxが動作する。 Docker → Docker内で動けば別のパソコンでも簡単に動く。 Docker無し → 色んなソフト設定を一つ一つ…
init.pyの設定をする。 次にレイアウトの設定をする。{% block head %}で囲む。 Googleフォントで自由にフォンとを選べる。 cssなどはここでリンク設定をしておく。 実際にcss.styleはこのようになっている。 {% block head %}の次は {% block body %}の設定…
カテゴリー検索を可能にする方法 カテゴリーを決める→ターミナルでそのカテゴリのURL入力→実行 Arguments の設定方法 ①start_urlを変更して以下のdefを作るだけ。 def __init__(self, category): self.start_urls = [category] ②ターミナルで以下を入力 $ sc…
Seleniumじゃない方法でスクレイピングをやる。 概要 titleとurlを取得→次のページに行く→各ページのデータ収集 各タイトルのURLを取得する。 最初にstartURLを設定する start_urls = ['http://books.toscrape.com'] titleに付いているURLを確認する。 <a href="catalogue/a-light-in-the-attic_1000/index.html" title="A Light in the Attic">A Lig</a>…
本屋のECサイトをスクレイピングする。 プロジェクト環境を整える。 コードは以下の通り $ scrapy startproject books_crawler $ cd books_crawler $ scrapy genspider books books.toscrape.com/ books.pyのURLを変更する。wwwは取り除くことが注意ポイント…
プロジェクトを始める setting.pyのobeyをfalseに変更する。 login.pyのurlをhttp://quotes.toscrape.com/loginに変更する $ scrapy crawl loginを実行してみると networkを押して、 all を選択する post requestを使っているということがわかる。 tokenを取…
scrapinghubの使い方 ダッシュボードにプロジェクトフォルダーを作る。 次にターミナルからログインしてスパイダーをウップロードする Runボタンを押して動かすだけ。 Jobが終了するとcomplete jobに入る。 csvなどでダウンロードすることなども可能 Periodi…
環境設定をする。 $ scrapy startproject test_quotes $ scrapy genspider test_quotes http://quotes.toscrape.com/ shellで準備をする。 scrapy shellを使って動作確認をする。 response.xpath('//[@class="quote"]') でとれる確認する 次にquotes = respo…
XPathの使い方 始める方法 $ scrapy shell In [2]: from scrapy.selector import Selector 以下のファイルを読み込ませる。 <html> <head> <title>Title of the page</title> </head> <body> <h1>H1 Tag</h1> <h2>H2 Tag with <a href="#">link</a></h2> <p>First Paragraph</p> <p>Second Paragraph</p> </body> </html> 実際に実行して見る In [10]: sel = …
基礎編 XPathではXML文章をツリーとして捉えることで、要素や属性の位置を指定することができます。 『@』表記に関して classのような要素に紐づく属性を『@』で表します。 //を用いて途中までのパスを省略することができる。 /html/body/div/span[@class='r…
スクレーピーを設定する。 $ python3 -m venv venv_0512 $ source venv_0512/bin/activate $ cd venv_0512 $ pip install scrapy $ sudo pip install ipython スクレーピーをの状況を確認する。 Yuki$ scrapy Scrapy 1.5.0 - no active project Usage: scrap…
Craiglistのスパイダーを作る準備をする $ source venv_0512/bin/activate $ cd venv_0512 $ scrapy startproject craiglist $ scrapy genspider jobs newyork.craigslist.org 最終的なコード タイトルの取得方法 $ scrapy shell 'https://newyork.craigslis…
ディレクトリ設定→仮想環境作成→仮想環境に入る $ cd desktop/test $ python3 -m venv venv_0401 $ source venv_0401/bin/activate $ cd venv_0401
1. auth package で全体が動くようにblueprintの準備をする 2. route.pyでファンクションが動くようにする。表示処理など 3. templates folder でhtmlに表示するようにする 4. forms.pyでフォーム処理を書く 詳細は次でやる
データを取得して、表示させる方法 テーブルを作るためにカタログパッケージの中にmodels.pyを設定する。 appフォルダーのdbをインポートする。 dev, test, prodのどのアプリのどのデータベースを使うかを決めなければならないのでwith文を使って明確にして…
Blueprintを用いた実装は、以下の2ステップで行われます。 Blueprintを実装する 実装したBlueprintをFlaskのアプリケーションに登録する 以下の順でうごかす! run→ route.py→ model.py → home.html ①route.pyがmode.pyを使ってdbを読み込む ②home.htmlに<p></p>