web爬虫之登录google paly 商店
我们先打开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 商店相关推荐
- 5 个用 Python 编写 web 爬虫的方法
用户代理 你需要关心的第一件事是设置用户代理. 用户代理是用户访问的工具,并告知服务器用户正在使用哪个网络浏览器访问网站. 如果未设置用户代理,许多网站不会让你查看内容. 如果你正在使用rquests ...
- 识别User Agent屏蔽一些Web爬虫防采集
识别User Agent屏蔽一些Web爬虫防采集 from:https://jamesqi.com/%E5%8D%9A%E5%AE%A2/%E8%AF%86%E5%88%ABUser_Agent%E5 ...
- 玩C一定用得到的19款Java开源Web爬虫
网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自动索引.模拟程序或者蠕 ...
- 使用实体框架核心和C#创建具有Dotnet核心的自定义Web爬虫程序
目录 介绍 背景 爬虫的基础知识 一步一步开发DotnetCrawler eShopOnWeb Microsoft 项目使用示例 Visual Studio解决方案的项目结构 DotnetCrawle ...
- Google Paly 开发者账号需要注意的小细节
随着经济全球化的发展,国内越来越多的软件开发者将目光瞄向了全球市场,其中谷歌作为公认的全球最大的搜索引擎公司,旗下的Google Paly可以将发布的应用和游戏呈现给全球190多个国家/地区的数十亿名 ...
- 用谷歌按钮登录_使用非常简单的设置即可登录Google的按钮
用谷歌按钮登录 vue-google-login (vue-google-login) Button to login with google with really simple setup. 使用 ...
- 亚马逊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 ...
- 如何解决 Google GMS 在被锁定失效后,无法再使用 Google Play Store的问题;亦适用于在不使用 Google GMS 的情况下,如何正常使用Google Play 商店
如何在不安装Google GMS的情况下,让谷歌商店正常使用谷歌 Play商店 ~~ 有朋友可能是采用安装 Google GMS的方式使用谷歌商店的,但很快,你会发现以下问题: ① 设 ...
- Google Play 商店现在可发布 PWA 应用
谷歌在 2017 年的 Chrome Dev Summit 上推出了一项名为 Trusted Web Activities(TWA)的新技术,其最早应用于 Chrome for Android,这是一 ...
最新文章
- centos7上搭建http服务器以及设置目录访问
- CF 19D Points 【线段树+平衡树】
- 后盾网lavarel视频项目---页面post方式提交之后动态弹出错误信息
- Android开发8:UI组件TextView,EditText,Button
- [Jenkins]Error:403 No valid crumb was included in the request
- MySQL_数据库表结构的操作
- 解决方案:布隆过滤器(Bloom Filter)
- Alt+/ 快速提示快捷键修复及ecplise心得
- 使用DevExpress的WebChartControl控件绘制图表(柱状图、折线图、饼图)
- 【图像隐写】基于matlab DCT数字水印嵌入+攻击+提取【含Matlab源码 1758期】
- python3网络爬虫--爬取华为应用市场app数据(附源码)
- 第一章 命题逻辑 1.4 析取范式与合取范式
- 有奖互动 | 感恩节福利放送中
- 电线带电时先接零线还是火线
- Pymol一些命令及使用小技巧
- 检查计算机无法更新,Win7提示Windows Update当前无法检查更新,因为未运行服务解决方法...
- 使用flownet2进行flow warping error的计算
- D3D11的颜色处理
- 硬件工程师都没人干了_将软件带到硬件上,到底意味着什么?
- live555 源码架构分析
热门文章
- numpy.arctan, math.atan, math.atan2的区别
- 微信对接会员管理系统搭建体系
- 2017-01-01 调停者模式
- 建设一个网站需要多少钱?
- 什么是ARM TCM内存
- 微信开发者工具配置服务器信息,微信开发者中心如何配置
- javaweb-一个投票网页
- wildcard java_java操作elasticsearch实现前缀查询、wildcard、fuzzy模糊查询、ids查询
- 自定义ListView实现任意View跑马灯效果
- 如何把Word的默认页面颜色由白色改为绿色