この前作った画像をスクレイピングするツール
-
PythonでGoogleとBingから画像を取得するWEBスクレイピングツールを作った
いろいろあって、画像を収集するWEBスクレイピングツールを作りました。 目次1 WEBスクレイピングツール1.1 ソース1.2 機能概要1.3 開発環境2 環境準備2.1 仮想環境作成2.2 必要なパ ...
続きを見る
こいつを来週末勉強会で発表するんですが、画像をダウンロードするだけだと簡単すぎて面白くないなぁ。
Jupyterでプレゼンするからちょっと変わった感じはするだろうけど、まだ足りない。
そういえば、これくらいならPydroidで動くんじゃないの?
-
AndroidでJupyterを動かしてみた
先日、Android上で動作するPydroid3というアプリをインストールしました。 このアプリ、Jupyterが使えるというので試してみたら…こいつ…動くぞ…!! 目次1 環境の作り方1.1 Pyd ...
続きを見る
ってことで試してみたら見事動いたのでメモ。
実行環境
使用端末
Huaweiのhonor 8(Android7.0)
Python
Pydroid3(Python3.7.2)
久々に起動したら、動かす前にアプリの更新がかかって最新になりました。
Pydroid3準備
パッケージインストール
アプリ起動→pip→INSTALLから、以下をインストールします。
- requests
- beautifulsoup4
- lxml
lxmlは、おそらくリポジトリにないよ、と言われます。
なので、追加でこちらをインストールします。
もう一度試すと無事にインストール完了。
ファイルの配置
pipと同じく、左側のメニュー→terminalを選択します。
最初に選択されているディレクトリ直下に、新しくディレクトリを作成します。
普通のLinuxと同じく、mkdirやcdが使えます。
1 2 3 4 |
mkdir scraping cd scraping mkdir src mkdir src/common |
各ディレクトリにソースを配置します。
src内の各ファイルが必要です。
importpath.pthは不要。
方法はいろいろありますが、楽そうな方法
ソースをPydroid3のエディタに貼ってディレクトリアイコンをタップ
IntarnalStorageの直下にscrapingディレクトリがあるので保存します。
それぞれ配置できました。
vimはpipからインストールできましたが、スマホだと操作しにくそうです。。。
ちょっとだけファイル修正
そのままのソースだと、画像の保存ディレクトリが権限外の場所になってしまうので、
CommonConst.pyのDATA_DIR 階層を1つ減らします。
1 2 |
# DATA_DIR = os.path.abspath(os.path.dirname(os.path.abspath(__file__)) + '../../../download/image').replace('\\', '/') DATA_DIR = os.path.abspath(os.path.dirname(os.path.abspath(__file__)) + '../../download/image').replace('\\', '/') |
ファイル修正が面倒であれば、scrapingディレクトリをもう1段深い場所に作るのでもOK。
もう1つ、端末のストレージ容量に余裕がない場合は以下を編集。
空き容量が20%を切ると処理が止まるようになっているので、10%とかにします。
あんまりぎりぎりにするのはおすすめしません。
1 |
DISK_FREE_REFERENCE_VALUE = 20 |
スクレイピング実行
srcディレクトリ内で以下のコマンドを実行します。
1 |
python SearchEngineClass.py google 好きな検索キーワード 5 |
こんな感じ。
スマホだとやっぱり遅いね。
回線の問題もあるけど、やっぱりPCよりスペック劣るんだろうな。
フォルダが火を吹くまで結構かかりそう。#Python #pydroid #にゃんたま pic.twitter.com/rTsXz5MPLk— はじっこ@目指せ在宅勤務 (@snapstroll) 2019年5月10日
Jupyter版
なかなかよい感じです。
#Android × #Pydroid3 × #Jupyter でWebスクレイピングしまーす。 pic.twitter.com/mSzpsWJxXR
— はじっこ@目指せ在宅勤務 (@snapstroll) 2019年5月14日
やはりPCは必要
最近の若者はPC持ってなくてスマホしか使わない
と聞くとマジかよ…。ってなる人です。
確かにAndroidでもPCと同じことをやろうと思えばできるけど。。。
やっぱりPCの処理能力はかなわないし、モバイルしないならデスクトップのほうがいいでしょ!!
(まぁそのためのアプリなんですけど)
Pydroid3でJupyterが動くのは確認済みなので、勉強会ではWEBスクレイピング with jupyterで変態認定されてきます。