用電腦寫了一段python程序抓取某網(wǎng)站的數(shù)據(jù)。網(wǎng)站數(shù)據(jù)每天更新,每天的數(shù)據(jù)都不一樣,如果當(dāng)天沒有抓取保存數(shù)據(jù),第二天就沒有了昨天的數(shù)據(jù)。有時(shí)候人又不在電腦旁,所以希望找到一個(gè)能在手機(jī)上運(yùn)行Python程序的軟件,隨時(shí)隨地抓取數(shù)據(jù)。
度娘和谷哥了很久,找到三種類型的轉(zhuǎn)件。
一、在手機(jī)上寫手機(jī)專用的Python程序:Qpython
二、用電腦寫可以在手機(jī)上運(yùn)行的app:Kivy和SL4A
三、電腦寫的python程序,在手機(jī)上運(yùn)行:Termux、Pydroid3
第三類應(yīng)該說最簡單,不需重寫程序。
Termux是一款開源且不需要root,運(yùn)行在Android終端上極其強(qiáng)大的linux模擬器,支持apt管理軟件包,完美支持python,ruby,go,nodejs。本文使用termux搭建Nmap、Sqlmap、BBScan、subDomainsBrute、Hydra、RouterSploit等實(shí)現(xiàn)支持端口掃描、注入檢測、子域名爆破、多協(xié)議弱口令爆破、路由器漏洞檢測框架多種功能的Android手機(jī)滲透神器。
官方簡介
實(shí)際上是個(gè)手機(jī)端的Linux模擬器。能運(yùn)行python程序。
為了配置環(huán)境,吃了不少苦頭,寫了這篇讓他人少走彎路。
1、軟件下載
在酷安網(wǎng)上有termux可以下載,目前更新到了0.65版。
github上有源碼:https://github.com/termux
官網(wǎng)地址 https://termux.com/
2.1 安裝基本命令環(huán)境
下載安裝后要首先更新包,命令行輸入以下命令
apt update
apt upgrade
更換清華源鏡像,提高速度
export EDITOR=vi
apt edit-sources
編輯為
# The termux repository mirror from TUNA:
deb [arch=all,aarch64] https://mirrors.tuna.tsinghua.edu.cn/termux? stable main
:wq保存
----------
或者使用nano、vi、vim手動(dòng)修改 $PREFIX/etc/apt/sources.list 文件
添加如下:
#?The?termux?repository?mirror?from?TUNA:
deb https://mirrors.tuna.tsinghua.edu.cn/termux stable main
并把原來的
deb https://termux.org/packages/ stable main
屏蔽掉(在行首添加#號(hào))
再保存退出
我習(xí)慣用nano來編輯文檔,默認(rèn)是沒有安裝的,使用命令apt install nano來安裝nano
使用命令:nano??$PREFIX/etc/apt/sources.list 來編輯文件,然后ctrl+o保存,ctrl+x退出
------
基本命令/軟件的安裝
apt update
apt upgrade
apt install vim zsh tsu wget git zip neofetch clang make cmake curl python-dev nodejs-dev -y
2.2 安裝python
安裝python主程序和必要模塊,python3和python2都安裝
apt install python python-dev python2 python2-dev
3、安裝python模塊
(1)安裝BeautifulSoup,requests
pip install BeautifulSoup4 requests
(2)安裝lxml模塊
apt-get install clang
tips:近期clang更新到7.0,存在很多問題,好多模塊都不能編譯了。只能期待作者解決了。
error: command 'aarch64-linux-android-clang' failed with exit status 1


apt-get install libxml2 libxml2-dev libxslt libxslt-dev
依賴庫python-dev libxml2-dev libxslt-dev libcrypt-dev openssl-dev libffi-dev
pip install lxml
有可能安裝不上,可以先把下面的(3)中的apt部分先安裝,在來試試pip install lxml
更新:安裝lxml網(wǎng)上給出了一個(gè)新方案,如下
pkg install libxml2 libxml2-dev? libxslt libxslt-dev libiconv libiconv-dev libclang clang libzmq libzmq-dev libc++
pip install lxml
未經(jīng)測試,如果哪位童鞋測試后可告知一聲。
如果還是安裝不了,有網(wǎng)友說缺少libcrypt支持,運(yùn)行apt-get install libcrypt libcrypt-dev后再安裝lxml
最近在小米沒有存儲(chǔ)卡的手機(jī)上,發(fā)現(xiàn)在手機(jī)目錄無法運(yùn)行程序,提示permission denied
經(jīng)查閱,運(yùn)行命令termux-setup-storage就可以了
啟用外置存儲(chǔ)
pkg install termux-tools
termux-set-storage
Android6.0以上會(huì)彈框確認(rèn)是否授權(quán),執(zhí)行這條命令確保termux在最前端(當(dāng)前Activity)
(3)安裝scrapy模塊(必須先安裝lxml才行)
apt install openssl libffi libffi-dev
pip install scrapy
如果安裝不上,先試試
apt install openssl openssl-tool openssl-dev
再安裝scrapy
(4)安裝科學(xué)計(jì)算相關(guān)模塊numpy和pandas
apt install clang python python-dev fftw libzmq libzmq-dev freetype freetype-dev libpng libpng-dev pkg-config
LDFLAGS=" -lm -lcompiler_rt" pip install numpy matplotlib pandas jupyter
-------------------------------------------------
這里注意:numpy最新版1.13.1有問題,安裝不上,需要指定安裝1.12.1版
LDFLAGS=" -lm -lcompiler_rt" pip install numpy==1.12.1
【安裝時(shí)間會(huì)有點(diǎn)長,主要是編譯過程,幾個(gè)模塊可以一個(gè)一個(gè)來裝,numpy是基==1.12.1礎(chǔ)庫,裝matplotlib和pandas前必須先裝】
【2018-10-15更新】關(guān)于lxml、scrapy 安裝失敗的情況解決方案
錯(cuò)誤error: command 'aarch64-linux-android-clang' failed with exit status 1
近日重裝termux,安裝lxml scrapy mitmproxy老是失敗,還以為是clang更新的緣故。
搜索網(wǎng)絡(luò)解決方案,是因?yàn)榘惭bopenssl時(shí)直接apt安裝的結(jié)果。
這里要直接用deb包安裝 openssl.deb、openssl-dev.deb、openssl-tool.deb
這里是官方解決方案https://github.com/termux/termux-packages/issues/2847


先輸入uname -m
查看版本,我的是aarch64,也有可能是arm版的
如果是aarch的下載對(duì)應(yīng)aarch的openssl包
解壓后安裝openssl包,與下圖類似。

之后再pip install lxml scrapy mitmproxy 就行了
安裝mitmproxy 4.0.1時(shí)需要cryptography>2.1.2。之前安裝lxml時(shí)安裝的cryptography是2.0.1版本
老實(shí)安裝不上(就是這個(gè)原因才重新安裝termux的,教訓(xùn)慘痛),這次修改openssl包時(shí)pip安裝到了2.3.1一次性也解決了。
(5)安裝其他常用模塊
如果想安裝jupyter,需要安裝一個(gè)第三方模塊 apt install libcrypt-dev
再安裝 pip install jupyter note
大部分的直接pip安裝,比如:
pip install nltk
pip install demjson
pip install ipython
pip install demjson tushare colorama
還有其他:
apt install git? ? ? 這個(gè)碼農(nóng)都懂的
apt install htop? ? 任務(wù)管理器
apt install tree? ? 目錄樹
apt install vim? ?
雖然termux自帶vi,如果想使用vim(畢竟神之編輯器),則必須安裝,配合.vimrc,bundle 和 git 可以完美配置python開發(fā)環(huán)境,體驗(yàn)幾乎和ubuntu的終端無異.
小貼士:所有安裝命令必須在提示符 $下輸入,如果是提示符 >>> ,請(qǐng)輸入 quit()切換到提示符$下
好了,基本上可以運(yùn)行python大部分程序了。。。。。。。
關(guān)于安裝mysql【2019-2-30更新】
怎么安裝mysql有沒有教程呢?
搭建php服務(wù)器離不開mysql,但termux中沒有mysql源,只有MYSQL分支mariadb,兼容mysql,有人測試速度比mysql更快。直接apt install mariadb
有人反應(yīng)安裝后無法啟動(dòng),解決方法,再安裝mysqld install 就可以了
最后,把以上整理成一個(gè).sh文件,在命令行運(yùn)行bash termux_python.sh一鍵安裝
#Termux安裝python所需要的一些庫
apt update
apt upgrade
apt install python python-dev python2 python2-dev
apt-get install clang
apt-get install libxml2 libxml2-dev libxslt libxslt-dev
apt install openssl libffi libffi-dev
apt install openssl openssl-tool openssl-dev
apt install clang g++? libxml2-dev libxslt-dev python python-dev
apt install clang python python-dev
apt install fftw libzmq libzmq-dev
apt install freetype freetype-dev libpng libpng-dev pkg-config
pip install BeautifulSoup4 requests
pip install lxml
pip install scrapy
#pip install numpy==1.12.1
#最新的1.13.1有問題,安裝不上
LDFLAGS=" -lm -lcompiler_rt" pip install numpy==1.12.1
LDFLAGS=" -lm -lcompiler_rt" pip install matplotlib pandas jupyter
pip install ipython
pip install demjson tushare colorama
【2019-2-31更新】
再附上一個(gè)termux中文安裝折騰記錄精華,別人寫的。https://github.com/myfreess/Mytermuxdoc
2018-07-05更新
這里再推薦一款在手機(jī)上運(yùn)行py文件的手機(jī)軟件:Pydroid 3 - Educational IDE for Python 3
下面是關(guān)于他的介紹
pydroid3手機(jī)版,這是一個(gè)非常不錯(cuò)的手機(jī)python編程軟件,它擁有非常強(qiáng)大的編譯器,可以幫助您編輯python程序,pydroid3手機(jī)版不需要電腦也能夠時(shí)刻提高您的個(gè)人代碼編輯水平,有需要的小伙伴千萬不要錯(cuò)過哦!
pydroid3手機(jī)版功能特色:
擴(kuò)展鍵盤和所有你需要用Python編程的符號(hào).
語句高亮和主題.
代碼預(yù)測,自動(dòng)縮進(jìn)和實(shí)時(shí)代碼分析,就像任何真正的IDE一樣.
選項(xiàng)卡.
增強(qiáng)的代碼導(dǎo)航與交互賦值/定義gotos.
一鍵在Pastebin上分享
【軟件介紹】
Pydroid 3是一款使用比較方便而且功能非常的強(qiáng)大的教育性編程應(yīng)用,可以快速的學(xué)習(xí)的開箱即用示例,功能齊全的終端仿真器以及內(nèi)置C、C ++甚至Fortran編譯器,帶有斷電和手表的PDB調(diào)試器。
特色:
1、使用方便而且功能非常強(qiáng)大的手機(jī)編程應(yīng)用,界面很簡潔;
2、可以進(jìn)行編輯、代碼預(yù)測以及擴(kuò)展鍵盤欄和語法高亮主題等;
3、自定義儲(chǔ)存庫,功能齊全的終端仿真器以及Cython支持。




個(gè)人感覺和termux相比,共性是:1、都是終端模擬器;2、都可以pip安裝擴(kuò)展庫。
不同之處:1、termux純粹就是終端模擬器,pydroid3增加了python的IDE界面。可以編寫一段程序后再運(yùn)行,方便了許多。
2、pydroid3的符號(hào)面板比較豐富,避免了手機(jī)輸入法中找符號(hào)的繁瑣。
3、Termux適合喜歡折騰linux的人,而Pydroid3適合在手機(jī)上玩python的人,畢竟Pydroid3上模塊直接pip安裝使用,封裝程度較高,不折騰。而Termux還需要各種支持環(huán)境,編譯器什么滴,都要自己動(dòng)手配置。各位自己取舍吧。
喜歡這篇文章,就請(qǐng)點(diǎn)贊支持。喜歡我就關(guān)注我。
最后打個(gè)小廣告:承接各類APP數(shù)據(jù)分析,數(shù)據(jù)抓取,外掛等業(yè)務(wù)。微信:hrcl2015
