【问题标题】:How to get permissions information from an app in playstore?如何从 Playstore 中的应用获取权限信息?
【发布时间】:2015-02-27 09:19:12
【问题描述】:

我正在开发一个 python 爬虫来从 Play 商店中的应用程序中检索一些信息。我的爬虫检索应用评级、开发者等,但不检索权限。那是因为谷歌使用了一个假链接并且没有 html 可以捕获。有谁知道如何获取这些信息?欢迎任何帮助!

提前致谢。

【问题讨论】:

    标签: python permissions web-crawler


    【解决方案1】:

    通过报废Play商店页面是不可能获取权限详情的。

    您必须使用检查工具(我使用 mozilla)。如上所述,如果您尝试检查按钮元素,您将看到虚假链接 class="content id-view-permissions-details fake-link"。但是如果你点击“View Details”链接,并检查出现的弹出窗口,你会发现这个元素: class="permissions-container bucket-style" 如果您选择右键单击并“编辑为 HTML”,您将看到您需要的所有信息:

         <div tabindex="0" jstcache="71" class="permissions-container bucket-style"> <div jstcache="72" class="permissions-heading" style="display:none"> This app has access to: </div> <div jstcache="73" class="permissions-heading"> Version <jsl jstcache="74">1.50.2</jsl> can access: </div> <div jstcache="75" jsinstance="0" class="permission-bucket"> <div jstcache="87" class="bucket-icon-and-title"> <jsl jstcache="110"><jsl jstcache="111"> <span class="icon billing"></span> <span class="bucket-title"> In-app purchases </span> </jsl><jsl jstcache="112" style="display:none"> <span class="icon history"></span> <span class="bucket-title"> Device &amp; app history </span> </jsl><jsl jstcache="113" style="display:none"> <span class="icon cellular-data"></span> <span class="bucket-title"> Cellular data settings </span> </jsl><jsl jstcache="114" style="display:none"> <span class="icon identity"></span> <span class="bucket-title"> Identity </span> </jsl><jsl jstcache="115" style="display:none"> <span class="icon calendar"></span> <span class="bucket-title"> Calendar </span> </jsl><jsl jstcache="116" style="display:none"> <span class="icon contacts"></span> <span class="bucket-title"> Contacts </span> </jsl><jsl jstcache="117" style="display:none"> <span class="icon location"></span> <span class="bucket-title"> Location </span> </jsl><jsl jstcache="118" style="display:none"> <span class="icon sms"></span> <span class="bucket-title"> SMS </span> </jsl><jsl jstcache="119" style="display:none"> <span class="icon phone"></span> <span class="bucket-title"> Phone </span> </jsl><jsl jstcache="120" style="display:none"> <span class="icon files"></span> <span class="bucket-title"> Photos/Media/Files </span> </jsl><jsl jstcache="121" style="display:none"> <span class="icon storage"></span> <span class="bucket-title"> Storage </span> </jsl><jsl jstcache="122" style="display:none"> <span class="icon camera"></span> <span class="bucket-title"> Camera </span> </jsl><jsl jstcache="123" style="display:none"> <span class="icon mic"></span> <span class="bucket-title"> Microphone </span> </jsl><jsl jstcache="124" style="display:none"> <span class="icon device-id-call"></span> <span class="bucket-title"> Device ID &amp; call information </span> </jsl><jsl jstcache="125" style="display:none"> <span class="icon wifi-state"></span> <span class="bucket-title"> Wi-Fi connection information </span> </jsl><jsl jstcache="126" style="display:none"> <span class="icon wearable"></span> <span jstcache="127" class="bucket-title" style="display:none"> Wearable sensors/Activity data </span> <span jstcache="128" class="bucket-title" style="display:none"> Body sensors </span> </jsl></jsl> </div> <div jstcache="88" style="display:none"></div> <ul jstcache="89" class="bucket-description"> <li jstcache="90" style="display:none"></li> </ul> </div><div jstcache="75" jsinstance="1" class="permission-bucket"> <div jstcache="87" class="bucket-icon-and-title"> <jsl jstcache="110"><jsl jstcache="111" style="display:none"> <span class="icon billing"></span> <span class="bucket-title"> In-app purchases </span> </jsl><jsl jstcache="112"> <span class="icon history"></span> <span class="bucket-title"> Device &amp; app history </span> </jsl><jsl jstcache="113" style="display:none"> <span class="icon cellular-data"></span> <span class="bucket-title"> Cellular data settings </span> </jsl><jsl jstcache="114" style="display:none"> <span class="icon identity"></span> <span class="bucket-title"> Identity </span> </jsl><jsl jstcache="115" style="display:none"> <span class="icon calendar"></span> <span class="bucket-title"> Calendar </span> </jsl><jsl jstcache="116" style="display:none"> <span class="icon contacts"></span> <span class="bucket-title"> Contacts </span> </jsl><jsl jstcache="117" style="display:none"> <span class="icon location"></span> <span class="bucket-title"> Location </span> </jsl><jsl jstcache="118" style="display:none"> <span class="icon sms"></span> <span class="bucket-title"> SMS </span> </jsl><jsl jstcache="119" style="display:none"> <span class="icon phone"></span> <span class="bucket-title"> Phone </span> </jsl><jsl jstcache="120" style="display:none"> <span class="icon files"></span> <span class="bucket-title"> Photos/Media/Files </span> </jsl><jsl jstcache="121" style="display:none"> <span class="icon storage"></span> <span class="bucket-title"> Storage </span> </jsl><jsl jstcache="122" style="display:none"> <span class="icon camera"></span> <span class="bucket-title"> Camera </span> </jsl><jsl jstcache="123" style="display:none"> <span class="icon mic"></span> <span class="bucket-title"> Microphone </span> </jsl><jsl jstcache="124" style="display:none"> <span class="icon device-id-call"></span> <span class="bucket-title"> Device ID &amp; call information </span> </jsl><jsl jstcache="125" style="display:none"> <span class="icon wifi-state"></span> <span class="bucket-title"> Wi-Fi connection information </span> </jsl><jsl jstcache="126" style="display:none"> <span class="icon wearable"></span> <span jstcache="127" class="bucket-title" style="display:none"> Wearable sensors/Activity data </span> <span jstcache="128" class="bucket-title" style="display:none"> Body sensors </span> </jsl></jsl> </div> <div jstcache="88" style="display:none"></div> <ul jstcache="89" class="bucket-description"> <li jstcache="90" jsinstance="*0">retrieve running apps</li> </ul> </div><div jstcache="75" jsinstance="2" class="permission-bucket"> <div jstcache="87" class="bucket-icon-and-title"> <jsl jstcache="110"><jsl jstcache="111" style="display:none"> <span class="icon billing"></span> <span class="bucket-title"> In-app purchases </span> </jsl><jsl jstcache="112" style="display:none"> <span class="icon history"></span> <span class="bucket-title"> Device &amp; app history </span> </jsl><jsl jstcache="113" style="display:none"> <span class="icon cellular-data"></span> <span class="bucket-title"> Cellular data settings </span> </jsl><jsl jstcache="114"> <span class="icon identity"></span> <span class="bucket-title"> Identity </span> </jsl><jsl jstcache="115" style="display:none"> <span class="icon calendar"></span> <span class="bucket-title"> Calendar </span> </jsl><jsl jstcache="116" style="display:none"> <span class="icon contacts"></span> <span class="bucket-title"> Contacts </span> </jsl><jsl jstcache="117" style="display:none"> <span class="icon location"></span> <span class="bucket-title"> Location </span> </jsl><jsl jstcache="118" style="display:none"> <span class="icon sms"></span> <span class="bucket-title"> SMS </span> </jsl><jsl jstcache="119" style="display:none"> <span class="icon phone"></span> <span class="bucket-title"> Phone </span> </jsl><jsl jstcache="120" style="display:none"> <span class="icon files"></span> <span class="bucket-title"> Photos/Media/Files </span> </jsl><jsl jstcache="121" style="display:none"> <span class="icon storage"></span> <span class="bucket-title"> Storage </span> </jsl><jsl jstcache="122" style="display:none"> <span class="icon camera"></span> <span class="bucket-title"> Camera </span> </jsl><jsl jstcache="123" style="display:none"> <span class="icon mic"></span> <span class="bucket-title"> Microphone </span> </jsl><jsl jstcache="124" style="display:none"> <span class="icon device-id-call"></span> <span class="bucket-title"> Device ID &amp; call information </span> </jsl><jsl jstcache="125" style="display:none"> <span class="icon wifi-state"></span> <span class="bucket-title"> Wi-Fi connection information </span> </jsl><jsl jstcache="126" style="display:none"> <span class="icon wearable"></span> <span jstcache="127" class="bucket-title" style="display:none"> Wearable sensors/Activity data </span> <span jstcache="128" class="bucket-title" style="display:none"> Body sensors </span> </jsl></jsl> </div> <div jstcache="88" style="display:none"></div> <ul jstcache="89" class="bucket-description"> <li jstcache="90" jsinstance="*0">find accounts on the device</li> </ul> </div><div jstcache="75" jsinstance="3" class="permission-bucket"> <div jstcache="87" class="bucket-icon-and-title"> <jsl jstcache="110"><jsl jstcache="111" style="display:none"> <span class="icon billing"></span> <span class="bucket-title"> In-app purchases </span> </jsl><jsl jstcache="112" style="display:none"> <span class="icon history"></span> <span class="bucket-title"> Device &amp; app history </span> </jsl><jsl jstcache="113" style="display:none"> <span class="icon cellular-data"></span> <span class="bucket-title"> Cellular data settings </span> </jsl><jsl jstcache="114" style="display:none"> <span class="icon identity"></span> <span class="bucket-title"> Identity </span> </jsl><jsl jstcache="115" style="display:none"> <span class="icon calendar"></span> <span class="bucket-title"> Calendar </span> </jsl><jsl jstcache="116"> <span class="icon contacts"></span> <span class="bucket-title"> Contacts </span> </jsl><jsl jstcache="117" style="display:none"> <span class="icon location"></span> <span class="bucket-title"> Location </span> </jsl><jsl jstcache="118" style="display:none"> <span class="icon sms"></span> <span class="bucket-title"> SMS </span> </jsl><jsl jstcache="119" style="display:none"> <span class="icon phone"></span> <span class="bucket-title"> Phone </span> </jsl><jsl jstcache="120" style="display:none"> <span class="icon files"></span> <span class="bucket-title"> Photos/Media/Files </span> </jsl><jsl jstcache="121" style="display:none"> <span class="icon storage"></span> <span class="bucket-title"> Storage </span> </jsl><jsl jstcache="122" style="display:none"> <span class="icon camera"></span> <span class="bucket-title"> Camera </span> </jsl><jsl jstcache="123" style="display:none"> <span class="icon mic"></span> <span class="bucket-title"> Microphone </span> </jsl><jsl jstcache="124" style="display:none"> <span class="icon device-id-call"></span> <span class="bucket-title"> Device ID &amp; call information </span> </jsl><jsl jstcache="125" style="display:none"> <span class="icon wifi-state"></span> <span class="bucket-title"> Wi-Fi connection information </span> </jsl><jsl jstcache="126" style="display:none"> <span class="icon wearable"></span> <span jstcache="127" class="bucket-title" style="display:none"> Wearable sensors/Activity data </span> <span jstcache="128" class="bucket-title" style="display:none"> Body sensors </span> </jsl></jsl> </div> <div jstcache="88" style="display:none"></div> <ul jstcache="89" class="bucket-description"> <li jstcache="90" jsinstance="*0">find accounts on the device</li> </ul> </div><div jstcache="75" jsinstance="4" class="permission-bucket"> <div jstcache="87" class="bucket-icon-and-title"> <jsl jstcache="110"><jsl jstcache="111" style="display:none"> <span class="icon billing"></span> <span class="bucket-title"> In-app purchases </span> </jsl><jsl jstcache="112" style="display:none"> <span class="icon history"></span> <span class="bucket-title"> Device &amp; app history </span> </jsl><jsl jstcache="113" style="display:none"> <span class="icon cellular-data"></span> <span class="bucket-title"> Cellular data settings </span> </jsl><jsl jstcache="114" style="display:none"> <span class="icon identity"></span> <span class="bucket-title"> Identity </span> </jsl><jsl jstcache="115" style="display:none"> <span class="icon calendar"></span> <span class="bucket-title"> Calendar </span> </jsl><jsl jstcache="116" style="display:none"> <span class="icon contacts"></span> <span class="bucket-title"> Contacts </span> </jsl><jsl jstcache="117" style="display:none"> <span class="icon location"></span> <span class="bucket-title"> Location </span> </jsl><jsl jstcache="118" style="display:none"> <span class="icon sms"></span> <span class="bucket-title"> SMS </span> </jsl><jsl jstcache="119"> <span class="icon phone"></span> <span class="bucket-title"> Phone </span> </jsl><jsl jstcache="120" style="display:none"> <span class="icon files"></span> <span class="bucket-title"> Photos/Media/Files </span> </jsl><jsl jstcache="121" style="display:none"> <span class="icon storage"></span> <span class="bucket-title"> Storage </span> </jsl><jsl jstcache="122" style="display:none"> <span class="icon camera"></span> <span class="bucket-title"> Camera </span> </jsl><jsl jstcache="123" style="display:none"> <span class="icon mic"></span> <span class="bucket-title"> Microphone </span> </jsl><jsl jstcache="124" style="display:none"> <span class="icon device-id-call"></span> <span class="bucket-title"> Device ID &amp; call information </span> </jsl><jsl jstcache="125" style="display:none"> <span class="icon wifi-state"></span> <span class="bucket-title"> Wi-Fi connection information </span> </jsl><jsl jstcache="126" style="display:none"> <span class="icon wearable"></span> <span jstcache="127" class="bucket-title" style="display:none"> Wearable sensors/Activity data </span> <span jstcache="128" class="bucket-title" style="display:none"> Body sensors </span> </jsl></jsl> </div> <div jstcache="88" style="display:none"></div> <ul jstcache="89" class="bucket-description"> <li jstcache="90" jsinstance="*0">read phone status and identity</li> </ul> </div><div jstcache="75" jsinstance="5" class="permission-bucket"> <div jstcache="87" class="bucket-icon-and-title"> <jsl jstcache="110"><jsl jstcache="111" style="display:none"> <span class="icon billing"></span> <span class="bucket-title"> In-app purchases </span> </jsl><jsl jstcache="112" style="display:none"> <span class="icon history"></span> <span class="bucket-title"> Device &amp; app history </span> </jsl><jsl jstcache="113" style="display:none"> <span class="icon cellular-data"></span> <span class="bucket-title"> Cellular data settings </span> </jsl><jsl jstcache="114" style="display:none"> <span class="icon identity"></span> <span class="bucket-title"> Identity </span> </jsl><jsl jstcache="115" style="display:none"> <span class="icon calendar"></span> <span class="bucket-title"> Calendar </span> </jsl><jsl jstcache="116" style="display:none"> <span class="icon contacts"></span> <span class="bucket-title"> Contacts </span> </jsl><jsl jstcache="117" style="display:none"> <span class="icon location"></span> <span class="bucket-title"> Location </span> </jsl><jsl jstcache="118" style="display:none"> <span class="icon sms"></span> <span class="bucket-title"> SMS </span> </jsl><jsl jstcache="119" style="display:none"> <span class="icon phone"></span> <span class="bucket-title"> Phone </span> </jsl><jsl jstcache="120"> <span class="icon files"></span> <span class="bucket-title"> Photos/Media/Files </span> </jsl><jsl jstcache="121" style="display:none"> <span class="icon storage"></span> <span class="bucket-title"> Storage </span> </jsl><jsl jstcache="122" style="display:none"> <span class="icon camera"></span> <span class="bucket-title"> Camera </span> </jsl><jsl jstcache="123" style="display:none"> <span class="icon mic"></span> <span class="bucket-title"> Microphone </span> </jsl><jsl jstcache="124" style="display:none"> <span class="icon device-id-call"></span> <span class="bucket-title"> Device ID &amp; call information </span> </jsl><jsl jstcache="125" style="display:none"> <span class="icon wifi-state"></span> <span class="bucket-title"> Wi-Fi connection information </span> </jsl><jsl jstcache="126" style="display:none"> <span class="icon wearable"></span> <span jstcache="127" class="bucket-title" style="display:none"> Wearable sensors/Activity data </span> <span jstcache="128" class="bucket-title" style="display:none"> Body sensors </span> </jsl></jsl> </div> <div jstcache="88" style="display:none"></div> <ul jstcache="89" class="bucket-description"> <li jstcache="90" jsinstance="0">modify or delete the contents of your USB storage</li><li jstcache="90" jsinstance="*1">read the contents of your USB storage</li> </ul> </div><div jstcache="75" jsinstance="6" class="permission-bucket"> <div jstcache="87" class="bucket-icon-and-title"> <jsl jstcache="110"><jsl jstcache="111" style="display:none"> <span class="icon billing"></span> <span class="bucket-title"> In-app purchases </span> </jsl><jsl jstcache="112" style="display:none"> <span class="icon history"></span> <span class="bucket-title"> Device &amp; app history </span> </jsl><jsl jstcache="113" style="display:none"> <span class="icon cellular-data"></span> <span class="bucket-title"> Cellular data settings </span> </jsl><jsl jstcache="114" style="display:none"> <span class="icon identity"></span> <span class="bucket-title"> Identity </span> </jsl><jsl jstcache="115" style="display:none"> <span class="icon calendar"></span> <span class="bucket-title"> Calendar </span> </jsl><jsl jstcache="116" style="display:none"> <span class="icon contacts"></span> <span class="bucket-title"> Contacts </span> </jsl><jsl jstcache="117" style="display:none"> <span class="icon location"></span> <span class="bucket-title"> Location </span> </jsl><jsl jstcache="118" style="display:none"> <span class="icon sms"></span> <span class="bucket-title"> SMS </span> </jsl><jsl jstcache="119" style="display:none"> <span class="icon phone"></span> <span class="bucket-title"> Phone </span> </jsl><jsl jstcache="120" style="display:none"> <span class="icon files"></span> <span class="bucket-title"> Photos/Media/Files </span> </jsl><jsl jstcache="121"> <span class="icon storage"></span> <span class="bucket-title"> Storage </span> </jsl><jsl jstcache="122" style="display:none"> <span class="icon camera"></span> <span class="bucket-title"> Camera </span> </jsl><jsl jstcache="123" style="display:none"> <span class="icon mic"></span> <span class="bucket-title"> Microphone </span> </jsl><jsl jstcache="124" style="display:none"> <span class="icon device-id-call"></span> <span class="bucket-title"> Device ID &amp; call information </span> </jsl><jsl jstcache="125" style="display:none"> <span class="icon wifi-state"></span> <span class="bucket-title"> Wi-Fi connection information </span> </jsl><jsl jstcache="126" style="display:none"> <span class="icon wearable"></span> <span jstcache="127" class="bucket-title" style="display:none"> Wearable sensors/Activity data </span> <span jstcache="128" class="bucket-title" style="display:none"> Body sensors </span> </jsl></jsl> </div> <div jstcache="88" style="display:none"></div> <ul jstcache="89" class="bucket-description"> <li jstcache="90" jsinstance="0">modify or delete the contents of your USB storage</li><li jstcache="90" jsinstance="*1">read the contents of your USB storage</li> </ul> </div><div jstcache="75" jsinstance="7" class="permission-bucket"> <div jstcache="87" class="bucket-icon-and-title"> <jsl jstcache="110"><jsl jstcache="111" style="display:none"> <span class="icon billing"></span> <span class="bucket-title"> In-app purchases </span> </jsl><jsl jstcache="112" style="display:none"> <span class="icon history"></span> <span class="bucket-title"> Device &amp; app history </span> </jsl><jsl jstcache="113" style="display:none"> <span class="icon cellular-data"></span> <span class="bucket-title"> Cellular data settings </span> </jsl><jsl jstcache="114" style="display:none"> <span class="icon identity"></span> <span class="bucket-title"> Identity </span> </jsl><jsl jstcache="115" style="display:none"> <span class="icon calendar"></span> <span class="bucket-title"> Calendar </span> </jsl><jsl jstcache="116" style="display:none"> <span class="icon contacts"></span> <span class="bucket-title"> Contacts </span> </jsl><jsl jstcache="117" style="display:none"> <span class="icon location"></span> <span class="bucket-title"> Location </span> </jsl><jsl jstcache="118" style="display:none"> <span class="icon sms"></span> <span class="bucket-title"> SMS </span> </jsl><jsl jstcache="119" style="display:none"> <span class="icon phone"></span> <span class="bucket-title"> Phone </span> </jsl><jsl jstcache="120" style="display:none"> <span class="icon files"></span> <span class="bucket-title"> Photos/Media/Files </span> </jsl><jsl jstcache="121" style="display:none"> <span class="icon storage"></span> <span class="bucket-title"> Storage </span> </jsl><jsl jstcache="122" style="display:none"> <span class="icon camera"></span> <span class="bucket-title"> Camera </span> </jsl><jsl jstcache="123" style="display:none"> <span class="icon mic"></span> <span class="bucket-title"> Microphone </span> </jsl><jsl jstcache="124" style="display:none"> <span class="icon device-id-call"></span> <span class="bucket-title"> Device ID &amp; call information </span> </jsl><jsl jstcache="125"> <span class="icon wifi-state"></span> <span class="bucket-title"> Wi-Fi connection information </span> </jsl><jsl jstcache="126" style="display:none"> <span class="icon wearable"></span> <span jstcache="127" class="bucket-title" style="display:none"> Wearable sensors/Activity data </span> <span jstcache="128" class="bucket-title" style="display:none"> Body sensors </span> </jsl></jsl> </div> <div jstcache="88" style="display:none"></div> <ul jstcache="89" class="bucket-description"> <li jstcache="90" jsinstance="*0">view Wi-Fi connections</li> </ul> </div><div jstcache="75" jsinstance="*8" class="permission-bucket"> <div jstcache="87" class="bucket-icon-and-title"> <jsl jstcache="110"><jsl jstcache="111" style="display:none"> <span class="icon billing"></span> <span class="bucket-title"> In-app purchases </span> </jsl><jsl jstcache="112" style="display:none"> <span class="icon history"></span> <span class="bucket-title"> Device &amp; app history </span> </jsl><jsl jstcache="113" style="display:none"> <span class="icon cellular-data"></span> <span class="bucket-title"> Cellular data settings </span> </jsl><jsl jstcache="114" style="display:none"> <span class="icon identity"></span> <span class="bucket-title"> Identity </span> </jsl><jsl jstcache="115" style="display:none"> <span class="icon calendar"></span> <span class="bucket-title"> Calendar </span> </jsl><jsl jstcache="116" style="display:none"> <span class="icon contacts"></span> <span class="bucket-title"> Contacts </span> </jsl><jsl jstcache="117" style="display:none"> <span class="icon location"></span> <span class="bucket-title"> Location </span> </jsl><jsl jstcache="118" style="display:none"> <span class="icon sms"></span> <span class="bucket-title"> SMS </span> </jsl><jsl jstcache="119" style="display:none"> <span class="icon phone"></span> <span class="bucket-title"> Phone </span> </jsl><jsl jstcache="120" style="display:none"> <span class="icon files"></span> <span class="bucket-title"> Photos/Media/Files </span> </jsl><jsl jstcache="121" style="display:none"> <span class="icon storage"></span> <span class="bucket-title"> Storage </span> </jsl><jsl jstcache="122" style="display:none"> <span class="icon camera"></span> <span class="bucket-title"> Camera </span> </jsl><jsl jstcache="123" style="display:none"> <span class="icon mic"></span> <span class="bucket-title"> Microphone </span> </jsl><jsl jstcache="124"> <span class="icon device-id-call"></span> <span class="bucket-title"> Device ID &amp; call information </span> </jsl><jsl jstcache="125" style="display:none"> <span class="icon wifi-state"></span> <span class="bucket-title"> Wi-Fi connection information </span> </jsl><jsl jstcache="126" style="display:none"> <span class="icon wearable"></span> <span jstcache="127" class="bucket-title" style="display:none"> Wearable sensors/Activity data </span> <span jstcache="128" class="bucket-title" style="display:none"> Body sensors </span> </jsl></jsl> </div> <div jstcache="88" style="display:none"></div> <ul jstcache="89" class="bucket-description"> <li jstcache="90" jsinstance="*0">read phone status and identity</li> </ul> </div> <jsl jstcache="76"> <div class="permission-bucket"> <div class="bucket-icon-and-title"> <span class="icon other"></span> <span class="bucket-title"> Other </span> </div> <ul class="bucket-description"> <li jstcache="78" jsinstance="0">download files without notification</li><li jstcache="78" jsinstance="*1">receive data from Internet</li> <jsl jstcache="79" jsinstance="*0"> <li jstcache="80" jsinstance="0">full network access</li><li jstcache="80" jsinstance="1">Google Play license check</li><li jstcache="80" jsinstance="2">view network connections</li><li jstcache="80" jsinstance="3">connect and disconnect from Wi-Fi</li><li jstcache="80" jsinstance="4">prevent device from sleeping</li><li jstcache="80" jsinstance="*5">control vibration</li> </jsl> </ul> </div> </jsl> </div>
    

    检索您想要的信息的最佳方法是对 url 发出 HTTP POST 请求:https://play.google.com/store/xhr/ructx?authuser=0 并带有参数:

    id "id=com.kiloo.subwaysurf"

    xhr "1"

    hl "en" //英文版

    您可以从检查工具中找到所有标题:

    主机“play.google.com”

    接受 "text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8"

    CONTENT-TYPE "application/x-www-form-urlencoded;charset=utf-8"

    REFERER "https://play.google.com/store/apps/details?id=com.kiloo.subwaysurf&hl=en"

    然后您可以使用任何您想要发送 POST 请求的 API。为方便起见,我使用了 curl:

        curl --data "ids=com.kiloo.subwaysurf&xhr=1&hl=en" https://play.google.com/store/xhr/getdoc?authuser=0 --silent
    

    但是 python 有一个很好的用于 HTTP 请求的 API。 困难的部分是以自动化的方式解析响应。 结果是 JSON,我不知道 google 是如何将其解析为人类可读的信息。

    您还可以找到信息here

    【讨论】:

      猜你喜欢
      • 2012-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-15
      相关资源
      最近更新 更多