我们先打开Google play 首页 ,点击右上角“登陆”按钮,即跳到登陆页面

每次我要用爬虫的方式来登陆某个网站的时候,我都会先随便输入一个账号密码点击登陆一次,看看登陆之后会post出去的数据有哪些!那么,我觉得最方便而又是最常用的方法就是:火狐浏览器--web开发者工具--网络

火狐浏览器-web开发者工具-网络

现在我们知道了google play登陆是要提交14个参数的,那么接下来我们就要找到这14个参数的值是怎么来的,然后组装成一个post请求。通过分析,其实大部分的参数其实在页面的上是可以找得到的!看图

火狐浏览器-web开发者工具-查看器(图1)

除了bgresponse这个值,其他所有的值都可以在页面源码中找到,我就不详细说了。如果做过google 登陆的同学都知道,要实现登陆,关键是要获取到bgresponse这个值。那么bgresponse这个东西有是什么意思呢?

bgresponse是专门验证是不是bot的使用了google的botguard技术,如果不能正确的发送这个值的话,google也会允许你登陆成功,you wanna know why ? 因为,google 会对这个这个账号以及会话进行跟踪!可以参考stackoverflow的解释。

stackoverflow-botguard(图2)

接下来要做的就是如何得到这个值了,在页面源码中,我们可以看到一段js,这段js是在我们点击登陆按钮的时候调用,其中btresponse这个值就是在这段js中产生的!!

接着跟踪这段js就可以知道bgresponse其实是由一个初始化值(我们可以看做是key),和一段js算法。btresponse这个值就是通过这个算法和key得到的!

登陆按钮触发的js方法(图3)

下面是加密算法以及初始化值key,只是贴出部分截图,代码太长这里就不贴了。

key(图4)

算法(图5)

看到这里,要得到response这个就就很简单拉,对着图3的代码,我们可以稍微修改一下即可:

function getBgValue() {var  bg='';try {document.bg.invoke(function(response) {bg=response;});}catch (err) {bg='';}return bg;};var bg=getBgValue();//这里就得到了bgresponse的值了!console.log(bg);phantom.exit();

最后,是不是还有疑问,在python中如何调用js代码来得到response的值?这里我推荐使用phantomjs!例如在终端下,输入 ./phantomjs google.js 即可运行js。所以,在python中相当于调用外部命令一样,调用phantomjs即可!感谢大家阅读,欢迎大家评论!你们的评论和阅读就是我最大的动力!

源码:点击下载

如果有兴趣一起学习网页爬虫的同学欢迎加QQ:335418265,找到志同道合的人一起学习拼搏这也是写这篇文章的目的之一!

web爬虫之登录google paly 商店相关推荐

  1. 5 个用 Python 编写 web 爬虫的方法

    用户代理 你需要关心的第一件事是设置用户代理. 用户代理是用户访问的工具,并告知服务器用户正在使用哪个网络浏览器访问网站. 如果未设置用户代理,许多网站不会让你查看内容. 如果你正在使用rquests ...

  2. 识别User Agent屏蔽一些Web爬虫防采集

    识别User Agent屏蔽一些Web爬虫防采集 from:https://jamesqi.com/%E5%8D%9A%E5%AE%A2/%E8%AF%86%E5%88%ABUser_Agent%E5 ...

  3. 玩C一定用得到的19款Java开源Web爬虫

    网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自动索引.模拟程序或者蠕 ...

  4. 使用实体框架核心和C#创建具有Dotnet核心的自定义Web爬虫程序

    目录 介绍 背景 爬虫的基础知识 一步一步开发DotnetCrawler eShopOnWeb Microsoft 项目使用示例 Visual Studio解决方案的项目结构 DotnetCrawle ...

  5. Google Paly 开发者账号需要注意的小细节

    随着经济全球化的发展,国内越来越多的软件开发者将目光瞄向了全球市场,其中谷歌作为公认的全球最大的搜索引擎公司,旗下的Google Paly可以将发布的应用和游戏呈现给全球190多个国家/地区的数十亿名 ...

  6. 用谷歌按钮登录_使用非常简单的设置即可登录Google的按钮

    用谷歌按钮登录 vue-google-login (vue-google-login) Button to login with google with really simple setup. 使用 ...

  7. 亚马逊fire充不上电_如何在Amazon Fire Tablet或Fire HD 8上安装Google Play商店

    亚马逊fire充不上电 Amazon's Fire Tablet normally restricts you to the Amazon Appstore. But the Fire Tablet ...

  8. 如何解决 Google GMS 在被锁定失效后,无法再使用 Google Play Store的问题;亦适用于在不使用 Google GMS 的情况下,如何正常使用Google Play 商店

      如何在不安装Google GMS的情况下,让谷歌商店正常使用谷歌 Play商店 ~~    有朋友可能是采用安装 Google GMS的方式使用谷歌商店的,但很快,你会发现以下问题:    ① 设 ...

  9. Google Play 商店现在可发布 PWA 应用

    谷歌在 2017 年的 Chrome Dev Summit 上推出了一项名为 Trusted Web Activities(TWA)的新技术,其最早应用于 Chrome for Android,这是一 ...

最新文章

  1. centos7上搭建http服务器以及设置目录访问
  2. CF 19D Points 【线段树+平衡树】
  3. 后盾网lavarel视频项目---页面post方式提交之后动态弹出错误信息
  4. Android开发8:UI组件TextView,EditText,Button
  5. [Jenkins]Error:403 No valid crumb was included in the request
  6. MySQL_数据库表结构的操作
  7. 解决方案:布隆过滤器(Bloom Filter)
  8. Alt+/ 快速提示快捷键修复及ecplise心得
  9. 使用DevExpress的WebChartControl控件绘制图表(柱状图、折线图、饼图)
  10. 【图像隐写】基于matlab DCT数字水印嵌入+攻击+提取【含Matlab源码 1758期】
  11. python3网络爬虫--爬取华为应用市场app数据(附源码)
  12. 第一章 命题逻辑 1.4 析取范式与合取范式
  13. 有奖互动 | 感恩节福利放送中
  14. 电线带电时先接零线还是火线
  15. Pymol一些命令及使用小技巧
  16. 检查计算机无法更新,Win7提示Windows Update当前无法检查更新,因为未运行服务解决方法...
  17. 使用flownet2进行flow warping error的计算
  18. D3D11的颜色处理
  19. 硬件工程师都没人干了_将软件带到硬件上,到底意味着什么?
  20. live555 源码架构分析

热门文章

  1. numpy.arctan, math.atan, math.atan2的区别
  2. 微信对接会员管理系统搭建体系
  3. 2017-01-01 调停者模式
  4. 建设一个网站需要多少钱?
  5. 什么是ARM TCM内存
  6. 微信开发者工具配置服务器信息,微信开发者中心如何配置
  7. javaweb-一个投票网页
  8. wildcard java_java操作elasticsearch实现前缀查询、wildcard、fuzzy模糊查询、ids查询
  9. 自定义ListView实现任意View跑马灯效果
  10. 如何把Word的默认页面颜色由白色改为绿色