批量下载应用宝上的apk文件 - Python

本文内容来源于网络,仅供学习和交流使用,不具有任何商业用途,如有侵权或者其他问题,请即时与我联系,我会第一时间处理。---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 + '-----下载完毕!')

我没有下载完,部分截图如下:

批量下载应用宝上的apk文件 - Python

 

逐梦很累,坚持加油。 

上一篇:使用爬虫IP代理的一些认知及误区


下一篇:大规模爬取(新浪为例子)网页之downloader、parser的封装(涉及编码等细节)