日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

用python批量下載apk

瀏覽:59日期:2022-07-01 08:41:10
案例故事:

之前我們做Android手機測試的時候,

市場部希望我們測試部進行Top 1000 app(排名前1000的app)的兼容性測試,以確保我們的手機是可以安裝并正常運行這么多好用的app,且市場部提供了某應用市場上的top 1000 的apk下載地址。

用python批量下載apk

如何實現快速批量地下載apk文件呢?

準備階段

以上excel里的的url分明是需要進行二次重定向的,因為其不是一個.apk結尾的鏈接,我們需要進行解析后再進行重定向。wget命令是不支持這url重定向解析的,所以不能采用。所以我們還是采用requests模塊來實現下載。

Python批處理腳本形式 單線程的寫法

記住批處理腳本的精髓:批量順序執行語句,由于批處理腳本形式只能實現單個apk的下載任務,我們使用requests模塊實現下載。單線程效率比較慢,必須等前一個apk下載完畢后,才會開始后一個apk的下載。

# coding=utf-8import osimport requestsimport openpyxlcurdir = os.getcwd() # 獲取當前路徑current work directoryheader = { ’User-Agent’: ’Mozilla/5.0 (Windows NT 6.1 WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.93 Safari/537.36’}# 創建文件夾用于存放已經下載的apkif not os.path.exists('downloaded_apk'): os.system('mkdir downloaded_apk')# 逐行讀取excel里的下載地址urlexcel = openpyxl.load_workbook(’Top_1000_app.xlsx’) # 讀取excel里邊的內容table = excel.activerows = table.max_rowfor r in range(2, rows + 1): # 跟excel的第一行標題行無關,從第二行文字內容開始 apk_name = table.cell(row=r, column=2).value # 獲取app名字(中文) apk_url = table.cell(row=r, column=3).value # 獲取下載地址 save_path = os.path.join(curdir, 'downloaded_apk', '%s.apk' % apk_name) if not os.path.exists(save_path): # 避免二次下載 print('Downloading the %sth apk and will save to %s' % (r, save_path)) try: r = requests.get(apk_url, headers=header, allow_redirects=True, timeout=720) # 發起requests下載請求 status_code = r.status_code if (status_code == 200 or status_code == 206): with open(save_path, 'wb') as hf: hf.write(r.content) except: print('Error, can not download %s.apk' % apk_name) else: print('%s downloaded already!' % save_path)os.system('pause')Python面向對象類形式 多線程下載的寫法

準備階段

多線程一般效率快很多很多,多線程任務執行,一般是將apk下載任務放到Queue隊列里去,先進先出,然后只要隊列不是空隊列,就從隊列里邊取任務(q_job),并有10個線程同時進行,相對來說,理解上會較難一些些,但是掌握后,可以快速提高下載效率。

#coding=utf-8import osimport queueimport threadingimport requestsimport openpyxlcurdir = os.getcwd() #獲取當前路徑current work directoryheader = {’User-Agent’: ’Mozilla/5.0 (Windows NT 6.1 WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.93 Safari/537.36’}# 創建文件夾if not os.path.exists('downloaded_apk'): os.system('mkdir downloaded_apk')def download_single_apk(apk_url_str): ’’’下載單個apk文件’’’ apk_name, apk_url = apk_url_str.split(';') # print(apk_url) save_path = os.path.join(curdir, 'downloaded_apk', '%s.apk' % apk_name) if not os.path.exists(save_path): # 避免二次下載 print('Downloading %s' % (save_path)) try: r = requests.get(apk_url, headers=header, allow_redirects=True, timeout=720) # 發起requests下載請求 status_code = r.status_code if (status_code == 200 or status_code == 206): with open(save_path, 'wb') as hf: hf.write(r.content) except: print('Error, can not download %s.apk' % apk_name) else: print('%s downloaded already!' % save_path)# 批量下載的線程class DownLoadThread(threading.Thread): def __init__(self, q_job): self._q_job = q_job threading.Thread.__init__(self) def run(self): while True: if self._q_job.qsize() > 0: download_single_apk(self._q_job.get()) # 這是10個線程都運行這個下載函數 else: breakif __name__ == ’__main__’: # 初始化一個隊列 q = queue.Queue(0) # 逐行讀取excel里的url excel = openpyxl.load_workbook(’Top_1000_app.xlsx’) # 讀取excel里邊的內容 table = excel.active rows = table.max_row for r in range(2, rows + 1): # 跟excel的第一行標題行無關,從第二行文字內容開始做替換工作 apk_name = table.cell(row=r, column=2).value # 獲取app名字(中文) apk_url = table.cell(row=r, column=3).value # 獲取下載地址 temp_str = apk_name + ';' + apk_url # 不可以put列表進隊列,只能嘗試put字符串 q.put(temp_str) for i in range(10): # 開啟10個線程 DownLoadThread(q).start()本案例素材下載

點我下載

運行方式與效果

比如保存以上代碼為download_1000apk.py并放在桌面,建議python download_1000apk.py運行,當然也可以雙擊運行。運行效果如下:

用python批量下載apk

以上就是用python批量下載apk的詳細內容,更多關于python批量下載apk的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
sm久久捆绑调教精品一区| 蜜桃伊人久久| 亚洲a级精品| 亚洲精品极品少妇16p| 日韩av免费| 日韩一区二区三区免费播放| 欧美日韩精品免费观看视完整| av中文资源在线资源免费观看| 日韩综合一区| 日韩网站中文字幕| 国精品一区二区| 亚洲色诱最新| 亚洲一区有码| 国产一精品一av一免费爽爽| 欧美天堂一区二区| 另类欧美日韩国产在线| 国产aⅴ精品一区二区四区| 香蕉视频亚洲一级| 九色porny丨国产首页在线| 免费精品国产的网站免费观看| 午夜电影亚洲| 亚洲免费毛片| 欧美1区二区| 免费在线小视频| 亚洲激情婷婷| 综合国产视频| 国产精品一区二区三区av| 精品视频在线你懂得| 久久国产亚洲| 蜜桃久久av| 国产精品久久久久77777丨| 日本不良网站在线观看| 一区免费在线| 亚洲综合日本| 日韩国产在线一| 精品视频网站| 欧美日韩日本国产亚洲在线| 日本一区二区三区视频在线看| 国产精品啊啊啊| 99精品美女| 最近国产精品视频| 六月丁香综合在线视频| 免费观看久久av| 国产欧美日韩一区二区三区四区| av资源中文在线| 亚洲尤物在线| 国产精品v日韩精品v欧美精品网站 | 色婷婷狠狠五月综合天色拍| 亚洲电影在线一区二区三区| 中文视频一区| 精品一区二区三区的国产在线观看| 快播电影网址老女人久久| 蜜臀va亚洲va欧美va天堂| 久久久久97| 婷婷综合在线| 久久国产人妖系列| 91精品在线观看国产| 亚洲91在线| 午夜影院一区| 亚洲在线久久| 日韩成人亚洲| 欧美久久久网站| 激情欧美丁香| 美女性感视频久久| 香蕉久久夜色精品国产| 精品欧美日韩精品| 麻豆久久精品| 精品视频高潮| 丝袜美腿亚洲一区| 精品国产乱码久久久久久樱花| 女人天堂亚洲aⅴ在线观看| 久久av免费| 老鸭窝毛片一区二区三区| 成人日韩av| 日本不卡一区二区三区| 欧美肉体xxxx裸体137大胆| 国产精品一区二区精品 | 国产精品人人爽人人做我的可爱| 久久不见久久见中文字幕免费| 国产亚洲激情| 国产精品成久久久久| 日本不卡一区二区| 久久久久.com| 久久精品一区二区三区中文字幕| 免播放器亚洲一区| 麻豆精品蜜桃| 久久久久九九精品影院| 日本一区中文字幕| 红桃视频国产精品| 日本蜜桃在线观看视频| 国产精品天天看天天狠| 蜜桃av一区二区三区电影| 日本精品不卡| 国产精品99精品一区二区三区∴| 亚洲欧美网站| 欧美 日韩 国产精品免费观看| 麻豆视频一区二区| 亚州欧美在线| 欧美精品一区二区久久| www.com.cn成人| 久久三级中文| 国产精品色在线网站| 日韩av黄色在线| 天堂av在线一区| 亚洲成人精选| 亚洲午夜久久久久久尤物| 日韩国产欧美| 91亚洲成人| 成人在线观看免费视频| 欧美xxxx性| 国产欧美日韩在线观看视频| 日本91福利区| 青草综合视频| 亚洲毛片视频| 美女91精品| 99国产精品| 伊人久久成人| 欧美特黄一区| 在线亚洲一区| 国产婷婷精品| 天堂成人国产精品一区| 国产精品日韩| 亚洲欧美日韩在线观看a三区| 在线精品视频在线观看高清| 伊人久久婷婷| 亚洲在线电影| 亚洲男人在线| 91精品在线免费视频| 亚洲三级国产| 日本免费一区二区视频| 久久国产麻豆精品| 国产精品sss在线观看av| 你懂的国产精品永久在线| 免费一区二区三区在线视频| 精品美女视频 | 亚洲精品在线观看91| 亚洲免费黄色| 丝袜国产日韩另类美女| 久久香蕉精品| 亚洲资源网站| 欧美日韩一区二区国产| 国产精品久久777777毛茸茸| 久久字幕精品一区| 黄在线观看免费网站ktv| 欧美一级鲁丝片| 激情视频一区二区三区| 欧美中文日韩| 日韩欧美高清一区二区三区| 日韩av三区| 黄色网一区二区| | 伊人久久亚洲热| 亚洲欧美激情诱惑| 五月激激激综合网色播| 国产欧美三级| 日韩欧美一区二区三区在线视频| 国产综合精品| 一区二区三区午夜视频| 久久国内精品视频| 中文字幕在线看片| 婷婷丁香综合| 日韩一区二区三免费高清在线观看| 国产欧美激情| 欧美xxxx中国| 日韩午夜黄色| 国产免费久久| 久久精品影视| 综合亚洲视频| 国精品产品一区| 亚洲激情社区| 国产亚洲电影| 亚洲a在线视频| 日韩在线视频一区二区三区| 精品视频国产| 国产亚洲精品v| 久久av中文| 怡红院精品视频在线观看极品| 欧美精品中文字幕亚洲专区| a国产在线视频| 亚洲免费毛片| 在线天堂资源www在线污| 国产精品日韩欧美一区| 国产女人18毛片水真多18精品| 婷婷激情一区| 欧美日韩xxxx| 日本久久成人网| 中文字幕亚洲在线观看| 久久伊人亚洲| 亚洲精选91| 国产精品久久久久av电视剧| 日韩动漫一区| 2023国产精品久久久精品双 | 亚洲图片久久| 正在播放日韩精品| 亚洲另类视频| 久草免费在线视频| 久热综合在线亚洲精品| 91欧美国产| 日韩和欧美的一区| 图片区亚洲欧美小说区|