当前市面上有大量的应用市场,这些应用市场作为各个安卓开发者的分发渠道,占据着重要的位置。如果我们需要批量下载apk用于研究,那么就需要用到爬虫技术,这里仅仅介绍一个简单的例子,即爬取应用宝上的apk。爬取apk首先需要找到该apk的展示页面,比如应用宝上的QQ下载页面,http://sj.qq.com/myapp/detail.htm?apkName=com.tencent.mobileqq,可以看出,参数是apkName,那么你只要往里面传apk包名即可拼接出整个链接。page_url = "http://android.myapp.com/myapp/detail.htm?apkName=" + pn

headers = {'User-Agent': "AndroidDownloadManager/4.1.1 (Linux; U; Android 4.1.1; Nexus S Build/JRO03E)"}

resp = requests.get(page_url, headers=headers, timeout=30)

接下来,最关键的就是要解析resp了。python生态圈有很多lib能够解析HTTP请求的相应,这里我使用lxml,该组件的用法,大家可以自行百度。root = etree.HTML(resp.text)

elem = root.xpath("//a[@class='det-down-btn']")

download_url = None if None is elem or len(elem) == 0 else elem[0].attrib["data-apkurl"]

这样,就获得了下载url,类似的我们可以请求该链接,即可获得apk文件。大家使用浏览器手动下载,会发现下载的apk名字里面包含了包名和版本号以及其他信息。我这里也采用类似的策略来命名下载的apk。import urlparse

import os

o = urlparse.urlparse(download_url)

filename = urlparse.parse_qs(o.query, True)['fsname'][0]

if not os.path.exists(filename):

print 'download...', filename

resp = requests.get(download_url, headers=headers, timeout=30)

with open(filename, 'wb') as fp:

fp.write(resp.content)

这样我们就能把apk保存到本地了。

以上就是最简单的apk下载爬虫了。

python安卓手机爬虫_python爬虫实战之爬取安卓apk相关推荐

  1. Python爬虫初探(九)——爬虫之Beautifulsoup4实战(爬取豆瓣信息)

    前面两章咱们介绍了Beautifuisoup4模块的简单使用,今天就用它来爬取豆瓣信息.话不多说,咱们开始吧. 一.拿到url地址 二.获取豆瓣数据 三.保存文件 需求: 爬取标题.评分.详情页的地址 ...

  2. python代码手机壁纸_python爬虫高清壁纸小白实战代码

    本帖最后由 seattle^-^ 于 2020-3-27 19:00 编辑 1.下午做公众号,发现没有图片素材了,于是随便找了一个壁纸网下载一些壁纸. 工具:pycharm2019.1.4 壁纸网址: ...

  3. python爬取电影网站存储于数据库_Python零基础爬虫教程(实战案例爬取电影网站资源链接)...

    前言 好像没法添加链接,文中的链接只能复制到浏览器查看了 这篇是我写在csdn的,那里代码格式支持更好,文章链接 https://blog.csdn.net/d497465762/article/de ...

  4. python爬网站的题库_Python零基础爬虫教程(实战案例爬取电影网站资源链接)

    前言 好像没法添加链接,文中的链接只能复制到浏览器查看了 这篇是我写在csdn的,那里代码格式支持更好,文章链接 https://blog.csdn.net/d497465762/article/de ...

  5. python爬京东联盟_python爬虫框架scrapy实战之爬取京东商城进阶篇

    前言 之前的一篇文章已经讲过怎样获取链接,怎样获得参数了,详情请看python爬取京东商城普通篇,本文将详细介绍利用python爬虫框架scrapy如何爬取京东商城,下面话不多说了,来看看详细的介绍吧 ...

  6. Java爬虫系列之实战:爬取酷狗音乐网 TOP500 的歌曲(附源码)

    在前面分享的两篇随笔中分别介绍了HttpClient和Jsoup以及简单的代码案例: Java爬虫系列二:使用HttpClient抓取页面HTML Java爬虫系列三:使用Jsoup解析HTML 今天 ...

  7. python函数的内涵_python内涵段子文章爬取

    全文简介 使用python中简单的爬虫知识,对内涵段子的文章进行爬取. 需要用到的模块:requests模块和time模块. 需要的程序编辑软件:Pycharm 程序流程 1> 获取URL:进入 ...

  8. python 淘宝搜索_Python使用Selenium+BeautifulSoup爬取淘宝搜索页

    使用Selenium驱动chrome页面,获得淘宝信息并用BeautifulSoup分析得到结果. 使用Selenium时注意页面的加载判断,以及加载超时的异常处理. import json impo ...

  9. python 异步加载_Python学习笔记4——爬取异步加载数据

    一.什么是异步加载? 在之前的学习笔记中,爬取的网页是需要手动翻页的网址,但是一些网站是通过自动加载翻页的,如knewone网页.浏览knewone的官网就能发现,当下拉到网页最下端时,网站会自动加载 ...

最新文章

  1. 李飞飞下半年或将从 Google离职?李飞飞回应
  2. PingCode新成员Goals开放内测!
  3. 重构手法(一)之重新组织函数
  4. 线上课程推荐 | 计算机方向:无人驾驶中的环境感知
  5. 使用Maven创建Web项目后,jsp引入静态文件提示报错。JSP 报错:javax.servlet.ServletException cannot be resolved to a type...
  6. 腾讯云连续三年登上KVM开源贡献榜,引领KVM技术标准!
  7. sql基于聚合结果集取最大值_SQL超入门第三篇:写给产品、运营、分析师的SQL教程...
  8. 成功最快的就是改变你这个思维,拥有这个全新的思维
  9. selenium中录制拖拽动作
  10. 2022-04-11 查询PostGIS和pgRouting的版本号
  11. 山西农业大学c语言程序设计试卷答案,2016年宁夏医科大学公共卫生与管理学院C语言程序设计(加试)复试笔试最后押题五套卷...
  12. 最大的数(nyoj 1170)
  13. 10M/s方法解决numpy下载太慢的问题!
  14. wps表格宏被禁用如何解禁_wps excel宏被禁用如何启用 - 卡饭网
  15. spss多元线性回归散点图_SPSS19.0实战之多元线性回归分析
  16. Go typeof、 Kind、Elem、Name用法
  17. 猴子分桃问题的几种解法
  18. seacms_locoy.php,seacms_v6.6
  19. 阿里云 短信服务——短信发送频率限制
  20. mysql outer join的用法_MySQL 8 中的连接语法JOIN、OUTER JOIN的相关用法

热门文章

  1. FFmpeg截屏、剪切一段视频、或者压缩视频
  2. 20k~65k, 2018年最后一波热门技术岗位, 立刻投简历, 跳槽才是加薪的捷径
  3. 将代码美观地复制到word的网站
  4. vant官网无法打开
  5. 编程n的阶乘使用while语句_数控宏程序编程----学习笔记
  6. 关于Window audio服务未运行的解决方案
  7. 计算机与网络安全类专业就业前景,乔治华盛顿大学网络安全与计算机科学专业介绍_网络安全与计算机科学专业排名及就业方向和前景-小站留学...
  8. android常用轮子(持续更新)
  9. TD210 DTU 功能特点解析
  10. 刷脸支付时代让智能终端回归人本身