Python爬虫实战(4)Fiddler+模拟器完成APP数据爬取

前言

  • 蛋肥这次想尝试一下爬取APP的数据,作为一个万年潜水的老Jr,这次选择虎扑APP论美区照片作为爬取目标,纯属出于学术研究,没有其他目的(嘿嘿)。

准备

爬取时间:2021/02/02
系统环境:Windows 10
所用工具:Jupyter Notebook\Python 3.0\Fiddler\雷神模拟器
涉及的库:requests\json

获取基础数据

小提示
①模拟器不要用Android 7.0以上的内核,可能会导致抓包失败。
②因为url签名会定期刷新,所以抓包后需尽快执行代码,不然url会失效。
参考资料
使用fiddler+模拟器进行APP抓包

获取url

蛋肥想法:原本计划是利用Fiddler+雷神模拟器去完成数据抓包,找到数据的url规律,但实际操作发现,url里带sign,百度了下sign的处理方法,感觉暂时超出了蛋肥的知识范围,所以这次利用雷神模拟器自带的“操作录制”功能,将论美区的页面自动下滑至底部,将Fiddler抓取的所有相关url地址导出,然后再去python里处理url。

#处理Fiddler里导出的url
file=open(r"C:\Users\Archer\Desktop\url.txt","r",encoding='utf-8')
url_list=file.read().split("\n")
Fiddler抓取的部分url

获取cover地址

蛋肥想法:通过url请求json,观察json结构发现“cover”对应封面照片的地址,可用之获取照片。

import requests
import json

#获取cover地址
def getpic(url):
    piclink=[]
    for each in url:
        link=each
        headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0"}
        r=requests.get(link,headers=headers,timeout=10)
        json_string=r.text
        json_data=json.loads(json_string)
        coverlist=json_data["data"]["list"]
        for each in coverlist:
            #因某些list里没有cover,做一个判断
            if "cover" in each:
                p=each["cover"]
                piclink.append(p)
    return(piclink)

#执行函数
a=getpic(url_list)
#为了获取原图去掉url里的resize
b=[x[:x.find("?")] for x in a]
#去掉列表里的空值
c=[x for x in b if x != ""]

获取照片

#获取照片
def downloadpic(link):
    for i in range(len(link)):
        print(link[i])
        piclink=link[i]
        pic=requests.get(piclink)
        with open(r'C:\Users\Archer\Desktop\论美区照片\img'+str(i)+'.png', 'wb') as f:
            f.write(pic.content)

#执行函数   
downloadpic(c)
获取的部分照片

总结

  • 利用Fiddler可实现APP数据的爬取。
  • 虎扑论美区网图是真的多。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 久违的晴天,家长会。 家长大会开好到教室时,离放学已经没多少时间了。班主任说已经安排了三个家长分享经验。 放学铃声...
    飘雪儿5阅读 7,588评论 16 22
  • 今天感恩节哎,感谢一直在我身边的亲朋好友。感恩相遇!感恩不离不弃。 中午开了第一次的党会,身份的转变要...
    迷月闪星情阅读 10,620评论 0 11
  • 在妖界我有个名头叫胡百晓,无论是何事,只要找到胡百晓即可有解决的办法。因为是只狐狸大家以讹传讹叫我“倾城百晓”,...
    猫九0110阅读 3,356评论 7 3
  • 彩排完,天已黑
    刘凯书法阅读 4,336评论 1 3