web爬虫之登录google paly 商店
我们先打开Google play 首页 ,点击右上角“登陆”button,即跳到登陆页面
每次我要用爬虫的方式来登陆某个站点的时候,我都会先随便输入一个账号password点击登陆一次,看看登陆之后会post出去的数据有哪些。那么,我认为最方便而又是最经常使用的方法就是:火狐浏览器--web开发人员工具--网络
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2hTYURpTg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
火狐浏览器-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是在我们点击登陆button的时候调用,当中btresponse这个值就是在这段js中产生的!
!
接着跟踪这段js就能够知道bgresponse事实上是由一个初始化值(我们能够看做是key),和一段js算法。btresponse这个值就是通过这个算法和key得到的!
登陆button触发的js方法(图3)
以下是加密算法以及初始化值key,仅仅是贴出部分截图,代码太长这里就不贴了。
key(图4)
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQ2hTYURpTg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
算法(图5)
看到这里,要得到response这个就就非常easy拉。对着图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 商店的更多相关文章
- 第三百三十五节,web爬虫讲解2—Scrapy框架爬虫—豆瓣登录与利用打码接口实现自动识别验证码
第三百三十五节,web爬虫讲解2—Scrapy框架爬虫—豆瓣登录与利用打码接口实现自动识别验证码 打码接口文件 # -*- coding: cp936 -*- import sys import os ...
- 第三百三十三节,web爬虫讲解2—Scrapy框架爬虫—Scrapy模拟浏览器登录—获取Scrapy框架Cookies
第三百三十三节,web爬虫讲解2—Scrapy框架爬虫—Scrapy模拟浏览器登录 模拟浏览器登录 start_requests()方法,可以返回一个请求给爬虫的起始网站,这个返回的请求相当于star ...
- 如何在Google Play商店发布多个版本apk
原文:http://android.eoe.cn/topic/android_sdk 多种apk的支持是一个特点在Google Play,它允许你发布不同的APKs为你的应用匹配不同尺寸的设备.每个A ...
- 第三百二十二节,web爬虫,requests请求
第三百二十二节,web爬虫,requests请求 requests请求,就是用yhthon的requests模块模拟浏览器请求,返回html源码 模拟浏览器请求有两种,一种是不需要用户登录或者验证的请 ...
- 识别User Agent屏蔽一些Web爬虫防采集
识别User Agent屏蔽一些Web爬虫防采集 from:https://jamesqi.com/%E5%8D%9A%E5%AE%A2/%E8%AF%86%E5%88%ABUser_Agent%E5 ...
- APP如何发布到Google play 商店
APP如何发布到Google play 商店?以及有哪些需要注意的点 2015-05-13 10:07 19773人阅读 评论(1) 收藏 举报 分类: iPhone游戏开发(330) 链接:ht ...
- Web爬虫入门
1.0示例学习:Web爬虫 public class WebCrawler { // 种子url private static String url = "http://www.cnblog ...
- 360 chrome不能登录Google账户
用过Google chrome,枫树,360 chrome国际版,今天还是回到Google chrome了. 因为除了Chrome自己,其他的都不能正常登录Google账户(偶尔偶尔一次可以,直到今天 ...
- android手机关于google play商店闪退的解决办法
部分android手机没有安装google play商店,这个可以通过类似“机锋”.“360手机助手”等应用市场下载. 安装google play商店后,点击打开却一闪而过:这个问题是因为手机没有安装 ...
随机推荐
- pm2 start命令进阶详解
在node的世界里面,并不存在nginx或者apache,甚至tomcat这种东东.一个node,本身就用几行代码,就可以启动个server进程,监听个端口,为大家提供web服务.这和传统的网站代码的 ...
- c/s端测试——nw.js篇(selenium工具)
最近在为兄弟部门开发自动化测试工具. 然后才知道现在竟然有JS工具可以把JS打包成cs端程序了,太牛了,js发展是真快.并且还是跨平台的,mac.windows.linux都支持. 当然,今天不是说n ...
- Dubbo 源代码分析八:再说 Provider 线程池被 EXHAUSTED
转自:http://manzhizhen.iteye.com/blog/2391177 在上回<Dubbo源代码实现六>中我们已经了解到,对于Dubbo集群中的Provider角色,有IO ...
- C++ new delete(二)
C++基础遗漏:new和delete 我记得当年学习C++基础的时候,老师曾经告诉我们:一般来说new和delete要成对出现,在使用完new申请的内存后要马上释放.我相信持这种说法的人不止我们老师一 ...
- [题解] codevs 1486 愚蠢的矿工
http://codevs.cn/problem/1486/ 我们比较熟悉二叉树,题目中给出的是一棵多叉树,我们需要将这可二叉树改造成二叉树. 二叉树可以为这样的: 父亲结点左边储存儿子,右边储存兄弟 ...
- LeetCode 翻转字符串里的单词
给定一个字符串,逐个翻转字符串中的每个单词. 示例 1: 输入: "the sky is blue" 输出: "blue is sky the" 示例 2: 输 ...
- 如何用 CSS 创作一个立体滑动 toggle 交互控件
效果预览 在线演示 按下右侧的"点击预览"按钮在当前页面预览,点击链接全屏预览. https://codepen.io/zhang-ou/pen/zjoOgX 可交互视频教程 此视 ...
- python 文件操作(二) 替换性修改文件内容
正常情况我们想要仅对文件某一行的内容进行修改,而不改变其他内容,在原文件的基础上不能修改,因为当我们对原文件进行写操作时,如果原文件里面有内容,就会清空,在这种情况下,只能对文件进行替换性修改:即重新 ...
- POJ 2349 Arctic Network(贪心 最小生成树)
题意: 给定n个点, 要求修p-1条路使其连通, 但是现在有s个卫星, 每两个卫星可以免费构成连通(意思是不需要修路了), 问修的路最长距离是多少. 分析: s个卫星可以代替s-1条路, 所以只要求最 ...
- Fiddler抓包-get与post请求
from:https://www.cnblogs.com/yoyoketang/p/6719717.html 本篇以博客园的请求为例,简单分析get与post数据有何不一样,以后也能分辨出哪些是get ...