Submit Search
Pythonでブラウザをいっぱい動かしたい
0 likes
311 views
Kameko Ohmura
PyCon JP 2021 LT
Engineering
Read more
1 of 11
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
More Related Content
PDF
ExcelとPythonによる社会インフラシステムの設定ファイルの自動生成
Fuminobu TAKEYAMA
PDF
Pythonでの開発を効率的に進めるためのツール設定
Atsushi Odagiri
PDF
テストを書こう、Unity編
Hiroto Imoto
PDF
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
ichikaway
PPTX
Behat Driven Development
Ryo Tomidokoro
PDF
書こう! 使おう! 単体テスト
ryohji ikebe
PPTX
組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015
SaitoTsutomu
PDF
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
aoshiman
ExcelとPythonによる社会インフラシステムの設定ファイルの自動生成
Fuminobu TAKEYAMA
Pythonでの開発を効率的に進めるためのツール設定
Atsushi Odagiri
テストを書こう、Unity編
Hiroto Imoto
脆弱性もバグ、だからテストしよう PHPカンファンレス2015
ichikaway
Behat Driven Development
Ryo Tomidokoro
書こう! 使おう! 単体テスト
ryohji ikebe
組合せ最適化を体系的に知ってPythonで実行してみよう PyCon 2015
SaitoTsutomu
今年使ってみて良かった、Pythonモジュール、パッケージ、ツール
aoshiman
What's hot
(20)
PDF
書こう! 使おう! 単体テスト
ryohji ikebe
PDF
Pythonを取り巻く開発環境 #pyconjp
Yoshifumi Yamaguchi
PDF
SPAJAMでやったこと
Hiroto Imoto
PDF
8時間耐久PHPUnitの教室
Yusuke Ando
PDF
密着!わたしのコンソールアプリ開発環境
Fumihito Yokoyama
PDF
XML-RPC : Pythonが「電池付属」と呼ばれる理由
Ransui Iso
PDF
Unity testtool
大介 束田
KEY
Windowsにpythonをインストールしてみよう
Kenji NAKAGAKI
PDF
PyQtではじめるGUIプログラミング
Ransui Iso
PPTX
QtでHello, World!!
treby
ODP
PySide/QtWebkitで楽々 slideshare Hack
Kazushige TAKEUCHI
PDF
「Python言語」はじめの一歩 / First step of Python
Takanori Suzuki
KEY
Gws in fukuoka
Takuma Watabiki
PDF
Python3 プログラミング勉強会
Tetsuya Morimoto
PDF
パッケージングの今と未来
Atsushi Odagiri
PPTX
開発環境構築からはじめるPython VisualStudio Codeとpipenvで始めるpython
tomitomi3 tomitomi3
PDF
Pythonでゲーム作る
amusementcreators
PPTX
Pythonでpdfをいじってみる
株式会社 システムヨシイ
PDF
Python パッケージの影響を歴史から理解してみよう!
Kir Chou
PDF
PHPUnit でテスト駆動開発を始めよう
Yuya Takeyama
書こう! 使おう! 単体テスト
ryohji ikebe
Pythonを取り巻く開発環境 #pyconjp
Yoshifumi Yamaguchi
SPAJAMでやったこと
Hiroto Imoto
8時間耐久PHPUnitの教室
Yusuke Ando
密着!わたしのコンソールアプリ開発環境
Fumihito Yokoyama
XML-RPC : Pythonが「電池付属」と呼ばれる理由
Ransui Iso
Unity testtool
大介 束田
Windowsにpythonをインストールしてみよう
Kenji NAKAGAKI
PyQtではじめるGUIプログラミング
Ransui Iso
QtでHello, World!!
treby
PySide/QtWebkitで楽々 slideshare Hack
Kazushige TAKEUCHI
「Python言語」はじめの一歩 / First step of Python
Takanori Suzuki
Gws in fukuoka
Takuma Watabiki
Python3 プログラミング勉強会
Tetsuya Morimoto
パッケージングの今と未来
Atsushi Odagiri
開発環境構築からはじめるPython VisualStudio Codeとpipenvで始めるpython
tomitomi3 tomitomi3
Pythonでゲーム作る
amusementcreators
Pythonでpdfをいじってみる
株式会社 システムヨシイ
Python パッケージの影響を歴史から理解してみよう!
Kir Chou
PHPUnit でテスト駆動開発を始めよう
Yuya Takeyama
Ad
Similar to Pythonでブラウザをいっぱい動かしたい
(20)
PDF
Why python
TeppeiAkada1
PDF
Why python
TeppeiAkada1
PDF
実務でGo使い始めました
Yuki Kikuchi
PDF
Python & PyConJP 2014 Report
gree_tech
PDF
10分でわかるPythonの開発環境
Hisao Soyama
PPTX
GBDC 勉強会 #1 Python を用いたツール作成工数の最小化
Yutaka Kato
PPTX
Pythonでwebdriver
株式会社 システムヨシイ
PDF
PredictionIOのPython対応計画
Shinsuke Sugaya
PDF
S03 t1 python_learningdiary#3
Takeshi Akutsu
PDF
PHPとJavaScriptの噺
Shogo Kawahara
PDF
S06 t1 python学習奮闘記#4
Takeshi Akutsu
PDF
久しぶりのPythonでgoogleのアレを制御してみた
Shohei Tai
PPTX
俺 と ご褒美 Bot
Masayuki KaToH
PDF
はじめてのWord pressプラグイン勉強会
Takahiro Nakahata
PPTX
211120 他人の書いたPythonスクリプトをステップ実行で理解する
Takuya Nishimoto
PDF
S16 t1 python学習奮闘記#6
Takeshi Akutsu
PPTX
Ipythonを使ってみよう
株式会社 システムヨシイ
PDF
次世代言語 Python による PyPy を使った次世代の処理系開発
shoma h
PDF
【A-5】(招待LT)灘校パソコン研究部とは
Satoru Cho
PDF
プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022
Takayuki Shimizukawa
Why python
TeppeiAkada1
Why python
TeppeiAkada1
実務でGo使い始めました
Yuki Kikuchi
Python & PyConJP 2014 Report
gree_tech
10分でわかるPythonの開発環境
Hisao Soyama
GBDC 勉強会 #1 Python を用いたツール作成工数の最小化
Yutaka Kato
Pythonでwebdriver
株式会社 システムヨシイ
PredictionIOのPython対応計画
Shinsuke Sugaya
S03 t1 python_learningdiary#3
Takeshi Akutsu
PHPとJavaScriptの噺
Shogo Kawahara
S06 t1 python学習奮闘記#4
Takeshi Akutsu
久しぶりのPythonでgoogleのアレを制御してみた
Shohei Tai
俺 と ご褒美 Bot
Masayuki KaToH
はじめてのWord pressプラグイン勉強会
Takahiro Nakahata
211120 他人の書いたPythonスクリプトをステップ実行で理解する
Takuya Nishimoto
S16 t1 python学習奮闘記#6
Takeshi Akutsu
Ipythonを使ってみよう
株式会社 システムヨシイ
次世代言語 Python による PyPy を使った次世代の処理系開発
shoma h
【A-5】(招待LT)灘校パソコン研究部とは
Satoru Cho
プログラマーとの出会い - Hello, Programmer! at PyCon Kyushu 2022
Takayuki Shimizukawa
Ad
More from Kameko Ohmura
(9)
PDF
BPLL #43 老後の資産を作ろう
Kameko Ohmura
PPTX
Windowsマシンを使いだしたときの失敗談
Kameko Ohmura
PPTX
PyLadies Tokyo 5周年パーティー
Kameko Ohmura
PDF
BPLL説明
Kameko Ohmura
PDF
Bp study #122 PyQの学習者サポートから学んだpython初学者への解説ノウハウ
Kameko Ohmura
PDF
オンライン 英会話の すすめ
Kameko Ohmura
PDF
ラーニングランチとは
Kameko Ohmura
PPTX
What do I want to do?
Kameko Ohmura
PPTX
Aws上のWin鯖にRDC
Kameko Ohmura
BPLL #43 老後の資産を作ろう
Kameko Ohmura
Windowsマシンを使いだしたときの失敗談
Kameko Ohmura
PyLadies Tokyo 5周年パーティー
Kameko Ohmura
BPLL説明
Kameko Ohmura
Bp study #122 PyQの学習者サポートから学んだpython初学者への解説ノウハウ
Kameko Ohmura
オンライン 英会話の すすめ
Kameko Ohmura
ラーニングランチとは
Kameko Ohmura
What do I want to do?
Kameko Ohmura
Aws上のWin鯖にRDC
Kameko Ohmura
Pythonでブラウザをいっぱい動かしたい
1.
Pythonでブラウザをいっ ぱい動かしたい 2021-10-16 kame-chan
2.
自己紹介 - kame-chanです。@okusama27 - 普段は株式会社BeProudでPython学習サービスPyQの開発・管理・運用・保守と かいろいろをやってます。 -
PyLadies Tokyoスタッフやってます。
3.
アジェンダ - Pythonでブラウザをいっぱい動かしたい理由 - ざっくり並列処理とは? -
実演 - thredingで書いてみた - concurrent.futuresで書いてみた - acync/awaitって美味しいの? - これから調べたいこと
4.
Pythonでブラウザをいっぱい動かしたい理由 ● リリースの度に約1,700問の問題をブラウザ上で実行しているから。 ○ 実行に1問1分くらいかかる。 ○
1問を実施するのに「表示」「実装」「実行」「判定」「結果表示」の 5工程がある ○ 普通に手動で実行すると 28時間!1日8時間勤務だと3.5日。 ○ 問題が少ないときは手動で実行していたが、現在は seleniumで自動化。
5.
そうだ!1つのプログラムで 複数のブラウザを動かそう!
6.
Pythonにもある気がする並行処理 - ざっくりいうと、同時にいくつかの処理を 実行すること。 - 上から順に書くと、プログラムは上から 順番に実行する。 -
処理1が終わったら処理2を開始、処理 2が終わったら処理3を開始という順序 で動く。 - Pythonにはいくつか処理を平行に実施 できる手段が用意されています。
7.
実装してみました
8.
threading for i in
range(5): if threading.active_count() >= 2: time.sleep(5) continue thread = threading.Thread(target=run_browser, args=(i,)) thread.start() time.sleep(2) 現状では、優先度 (priority)やスレッドグループがなく、スレッドの破壊 (destroy)、中断 (stop)、一時停止 (suspend)、復帰 (resume)、割 り込み (interrupt) は行えません。 (Python公式ドキュメント)
9.
concurrent.futures with futures.ThreadPoolExecutor(max_workers=2) as
executor: for i in range(5): future = executor.submit(run_browser, i) time.sleep(2) max_workersで起動数の制御ができる。 非同期実行は ThreadPoolExecutor を用いてスレッドで実行することも、 ProcessPoolExecutor を用いて別々のプロセスで実行することもできます.
10.
asyncio loop = asyncio.get_event_loop() gather
= asyncio.gather(run_browser(1), run_browser(2), run_browser(3)) loop.run_until_complete(gather) asyncio は async/await 構文を使い 並行処理の コードを書くためのライブラリです。 Javascript(React?)界隈で流行って、Python3.5でasync 構文と await 構文が追加さ れたっぽいです。
11.
これから - 以下を調べたい - いろいろ方法があるけど、どれがいいの? -
concurrent.futuresのいいところは? - async/awaitを使ったほうがいい状況を知りたい - async/awaitをがっつり学べるPythonの書籍があれば知りたい。なければ、 Reactの本?
Download