測(cè)試設(shè)備
iPhone 7 Plus槽卫,iOS 11.3.1已越獄
需安裝的插件
Python3.6 版本:3.6.4-6 源地址:https://mcapollo.github.io/Public/
NewTerm 2 版本:2.0,源地址:https://cydia.hbang.ws/
https://cydia.hbang.ws/
安裝PIP和SSL證書
在NewTerm 2終端輸入
su
后回車胰蝠;-
默認(rèn)密碼為alpine歼培,輸入密碼后回車進(jìn)入root環(huán)境;image
執(zhí)行
python3 -m ensurepip
命令安裝pip執(zhí)行
bash /usr/local/lib/python3.6/install_certificates.command
安裝SSL證書
運(yùn)行Python腳本
安裝完P(guān)IP后可以使用pip3 install package-name
命令安裝第三方庫(kù)茸塞,已知道支持的庫(kù)躲庄,支持ipython、jieba钾虐、requests噪窘、bs4;
- 用Filza File Manager文件管理器在/var/mobile文件夾下創(chuàng)建Python腳本文件(如圖demo.py)效扫;
image
- 編寫python代碼倔监;
image
- 在NewTerm 2 中進(jìn)入root環(huán)境,執(zhí)行
python3 filename
命令(如圖python3 demo.py)菌仁;
image
參考例子:王者榮耀皮膚爬蟲
在iPad上測(cè)試通過浩习,下載的皮膚照片保存到var/mobile文件夾中,可以用Filza File Manager文件管理器查看
import json
import requests
class Hero:
skin_url_base = 'http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/{id}/{ename}-bigskin-{num}.jpg'
def __init__(self, hero_id, hero_name, hero_nickname, hero_skin_name):
"""
功能:
英雄初始化
參數(shù):
hero_id {[str]} -- [英雄的id]
hero_name {[str]} -- [英雄名稱]
hero_nickname {[str]} -- [英雄昵稱]
hero_skin_name {[str]} -- [英雄皮膚名稱掘托,多款皮膚名稱中間以‘|’隔開]
"""
self.hero_id = hero_id
self.hero_name = hero_name
self.hero_nickname = hero_nickname
self.hero_skin_name = hero_skin_name
def download_skin(self):
"""
功能:
下載英雄皮膚
"""
for num, i in enumerate(self.hero_skin_name.split('|')):
with open(self.hero_name + ' - ' + i + '.jpg', 'wb') as f:
resp = requests.get(self.skin_url_base.format(
id=self.hero_id, ename=self.hero_id, num=num+1))
f.write(resp.content)
print('{hero_name},共{count}款皮膚下載完成'.format(
hero_name=self.hero_name, count=len(self.hero_skin_name.split('|'))))
def __str__(self):
"""
功能:
用于print()打印英雄的詳細(xì)信息
返回值:
[str] -- [重寫__str__()方法籍嘹,用于打印英雄的詳細(xì)信息]
"""
return '英雄:{hero_name}闪盔,昵稱:{hero_nickname},ID:{hero_id}辱士,共有{count}款皮膚'.format(hero_name=self.hero_name, hero_nickname=self.hero_nickname, hero_id=self.hero_id, count=len(self.hero_skin_name.split('|')))
hero_list_url = "http://pvp.qq.com/web201605/js/herolist.json"
headers = {
'Accept-Encoding': "gzip, deflate",
'Accept-Language': "zh-CN,zh;q=0.9,en;q=0.8,zh-TW;q=0.7",
'User-Agent': "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36",
'Content-Type': "application/json; charset=utf-8",
'Accept': "application/json, text/javascript, */*; q=0.01",
'Referer': "http://pvp.qq.com/web201605/herolist.shtml",
'X-Requested-With': "XMLHttpRequest",
'Connection': "keep-alive",
'Cache-Control': "no-cache",
}
response = requests.request("GET", hero_list_url, headers=headers)
datas = json.loads(response.text)
heros = [Hero(data['ename'], data['cname'], data['title'],
data['skin_name']) for data in datas]
# 計(jì)算王者榮耀總共有多少款皮膚
sum = sum([len(hero.hero_skin_name.split('|')) for hero in heros])
print('共{sum}款皮膚泪掀,開始下載···'.format(sum=sum))
for hero in heros:
hero.download_skin()
print('全部皮膚下載完成')