本文内容来源于网络,仅供学习和交流使用,不具有任何商业用途,如有侵权或者其他问题,请即时与我联系,我会第一时间处理。---Python逐梦者。
如题:
1 """ 2 下载应用宝上所有的apk文件 3 """ 4 import os 5 import random 6 7 from selenium import webdriver 8 import requests 9 import parsel 10 11 filePath = 'apkFiles\\' 12 13 if not os.path.exists(filePath): 14 os.mkdir(filePath) 15 16 # 请求头 17 headers = { 18 'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36', 19 } 20 url = 'https://sj.qxxq.com/myapp/category.htm?orgame=1' # 通过分析我们发现它是懒加载,调用selenium 21 22 # 开始请求数据 23 response = requests.get(url=url, headers=headers) 24 # print(response.text) 25 # 选择器 26 selector = parsel.Selector(response.text) 27 # 开始选取应用列表 28 lis = selector.css('.main ul li') 29 print(len(lis)) # 只有前40个 30 # 开始读取名称和下载链接 31 for li in lis: 32 name = li.css('.app-info-desc a::text').get() 33 downLoadTime = li.css('.app-info-desc .download::text').get() 34 size = li.css('.app-info-desc .size::text').get() 35 downLoadUrl = li.css('.app-info-desc .com-install-btn::attr(ex_url)').get() 36 print(name, downLoadTime, size, downLoadUrl, sep='|') 37 38 # 开始下载 39 res = requests.get(url=downLoadUrl, headers=headers) 40 time.sleep(random.randint(2, 10)) 41 with open(filePath + name + '.apk', mode='wb') as f: 42 f.write(res.content) 43 print(name + '-----下载完毕!')
我没有下载完,部分截图如下:
逐梦很累,坚持加油。