前言 最近在研究模拟登陆,看了很多教程,发现基本上都是只教怎么处理后就能登陆成功,没有讲解怎样得到处理的方法。经过的一天的研究,把微博模拟登陆基本上弄清楚了,下面就把过程详细说明。...---- 工具和环境 1.语言:Python3 2.IDE: Pycharm 3.浏览器:Chrome 4.使用的库:re, rsa, base64, requests, PIL, urllib ---...- 模拟登陆过程 弄清楚所需的数据 首先我们在Chrome浏览器中打开微博登陆界面,然后Ctrl+shift+i开启开发者工具,在开发者工具的Network选项里找到Preserve log并勾选,然后登录你的微博...我们只需要找到这几个数据就可以模拟登录到微博,那么怎么找到这些数据呢?接着往下看… 获取servertime,nonce等数据 在登录页面里打开开发者工具,清除Network里的数据。...wvr=5&lf=reg"}}); 提取你自己的uniqueid值放入下列网址中get得到你的微博主页信息。
首先我们查看登陆页面源码 ?...(Python) PC 登录新浪微博时, 在客户端用js预先对用户名、密码都进行了加密, 而且在POST之前会GET 一组参数,这也将作为POST_DATA 的一部分。...接下来再请求这个URL,这样就成功登录到微博了。 记得要提前build 缓存。 下面是完整代码(没加注释,凑合看吧): #!...很多豆友反馈有模拟登录新浪微博抓取数据的需求,其实对于一般的微博数据获取,如用户信息、微博内容等,使用微博开放平台API是更明智的选择:速度更快,而且节省许多网页处理的功夫。...熟悉Web的朋友只要定期维护模拟登录的代码就可以一直成功登录微博。如果不那么熟悉的话,其实可以采用更naive的思路来解决:直接将Cookie发送给新浪微博以实现模拟登录。
抓包分析 首先打开charles,记录从打开浏览器到新浪微博登陆成功的全部http请求 打开新浪微博,等待页面加载完成后,输入账号密码点击登陆,charles停止抓包,关闭浏览器。...找到登陆的POST请求https://login.sina.com.cn/sso/login.php?client=ssologin.js(v1.4.19) ? 登陆POST请求 ?...理论上我们只需要能完整的提交这个表单就能实现新浪微博的登陆。但是如果进行试验的话,会发现将该表单完整复制之后使用requests进行post提交是无法登陆的,所以可以断定其中某些字段是通过动态获取。...由于新浪微博的首页内容太多太杂 我们将上文中拿到的登陆post请求https://login.sina.com.cn/sso/login.php?...登陆页面 打开F12,对登陆按钮进行定位,根据前后台交互的方式可以知道后台应该是通过中某一个内容判断用户点击了登陆按钮,在Source中的js代码部分检索的type:submit。 ?
由于业务需要,研究了一下腾讯微博等登陆,下面分享一些经验给大家: 标题写的是腾讯微博的登陆,其实也可以隐身到腾讯旗下多个产品的登陆,比如QQ空间,webQQ等,想到这儿大伙是不是很激动呢?...下面我以Python为例: 分析登录过程 登录过程需要抓包,我是用的HttpWatch,大体步骤如下 第一步 手动登陆,抓包,记录登录过程 当输入完账号后想服务器请求验证码 等级登陆按钮后将登录信息发送至认证服务器...,实现第一次认证 服务器返回登陆成功信息,其中包含最终URL 第二次认证,获取腾讯微博的cookie 第二步 伪造登录过程 获取验证码 根据验证码计算出加密后的密码以及其他信息,发送GET请求至认证服务器...action和login_sig action参数可以乱填,和登陆没关系 login_sig提取自登陆页面,需要在登陆时发送!
Python模拟登陆让不少人伤透脑筋,今天奉上一种万能登陆方法。你无须精通HTML,甚至也无须精通Python,但却能让你成功的进行模拟登陆。...本文讲的是登陆所有网站的一种方法,并不局限于微博与知乎,仅用其作为例子来讲解。 用到的库有“selenium”和“requests”。...文章前面列出了步骤与代码,后面补充了登陆微博与知乎的实例。 文章最后给出了一个懒人的方法。想要走捷径的朋友直接看第四部知乎登陆。该方法适用于登陆所有网站,仅用知乎作为实例以方便讲解。...第三部:微博模拟登陆 import requests from selenium import webdriver chromePath = r'浏览器存放位置' wd = webdriver.Chrome...3.登陆微博是被要求输入验证码怎么办?有时登陆微博会被要求输入验证码,这个时候我们可以加一行手动输入验证码的代码。
本来给自己定了个2018的目标,平均每月写两篇文章,现在已经快三月了,第一篇稿子才憋出来,惭愧呀,直入主题吧,今天给大家带来的是新浪微博PC端的模拟登陆。...微博登录过程 抓取到登录过程后,我们就可以开始分析了,记住一定要清理缓存。...OK这几个变量我们都知道了,下面你了解一下rsa加密算法的python实现,直接贴代码 ?...image.png 这一次写这篇博文就顺畅多了,还是知识积累的问题。后面还有一篇百度登录分析的,发现百度这个确实是很复杂,目前还没搞定。尽请期待哦
最近由于需要一直在研究微博的爬虫,第一步便是模拟登陆,从开始摸索到走通模拟登陆这条路其实还是挺艰难的,需要一定的经验,为了让朋友们以后少走点弯路,这里我把我的分析过程和代码都附上来。...现在微博、空间等大型网站在输入用户名后基本都会做编码或者加密处理,这里在用户名输入框输入我的账号,通过抓包工具可以看到服务器会返回一段字符串: 这一步就是预登陆过程,同学们可以自己试试。...第一种方式如果是遇到微博调整了登陆加密算法,就必须改加密代码,第二种方式和第三种方式不存在这个问题。...但是微博有点坑啊,这里还需要有一步,就是图一所示的类似 http://passport.weibo.com/wbs... , 这一步会将请求重定向,返回当前账号的登陆信息,如下图: 那么问题来了,怎么获取上面的请求地址呢...可能有的老手觉得我写得很啰嗦,但其实很多新手可能都不知道这些细节,所以我把我在分析新浪微博模拟登陆的过程全写了出来。另外,除了这种方式,本文提到的另外两种方式也有实现。
最近由于需要一直在研究微博的爬虫,第一步便是模拟登陆,从开始摸索到走通模拟登陆这条路其实还是挺艰难的,需要一定的经验,为了让朋友们以后少走点弯路,这里我把我的分析过程和代码都附上来。...第一步:预登陆。 现在微博、空间等大型网站在输入用户名后基本都会做编码或者加密处理,这里在用户名输入框输入我的账号,通过抓包工具可以看到服务器会返回一段字符串: ?...第一种方式如果是遇到微博调整了登陆加密算法,就必须改加密代码,第二种方式和第三种方式不存在这个问题。...但是微博有点坑啊,这里还需要有一步,就是图一所示的类似 ? ,这一步会将请求重定向,返回当前账号的登陆信息,如下图: ? 那么问题来了,怎么获取上面的请求地址呢。...可能有的老手觉得我写得很啰嗦,但其实很多新手可能都不知道这些细节,所以我把我在分析新浪微博模拟登陆的过程全写了出来。 另外,除了这种方式,本文提到的另外两种方式也有实现。
一:获取app-key 和 app-secret 使用自己的微博账号登录微博开放平台,在微博开放中心下“创建应用”创建一个应用,应用信息那些随便填,填写完毕后,不需要提交审核,需要的只是那个app-key...在“微博开放平台”的“管理中心”找到刚才创建的应用,点开这个应用,点开左边“应用信息”栏,会看见“App key”和“App Secret”的字样,这两个东西是要在后面程序中使用的。...三:安装微博 python SDK 有两种安装方式: 1:http://github.liaoxuefeng.com/sinaweibopy/下载新浪微博SDK 2:python有个简单的安装方式:直接在命令行下键入...: sudo pip install sinaweibopy 四:实例验证,获取当前登录用户及其所关注(授权)用户的最新微博 这里需要注意的是在浏览器弹出一个页面,要先点击“授权”(这里进行的OAuth...以下为我的关注用户的微博: ? ? ? ? 拿上边代码为例,这里我们获取的信息有: ?
作者:wklken 来源: http://blog.csdn.net/wklken/article/details/7884529 今天开新浪微博,才发现收藏已然有2000+了,足足104页,貌似需要整理下了...我们关注的: 1.微博正文+评论内容 2.图片 3.视频链接 用Python实现 思路: 1.脚本模拟登陆新浪微博,保存cookie 2.有了cookie信息后,访问收藏页面url 3.从第一页开始,逐步访问...(困了,明后天接着写) 模拟登陆微博采用是http://www.douban.com/note/201767245/ 里面很详细,直接拉来用了 步骤: 1.进入自己的微博,右侧,收藏,进入收藏页面 http...3.运行脚本 python weibo_collect.py 结果: ?...其中,带序号的,只能连网时点击打开有效 tmpcontent是包含所有微博内容信息,但目前还没有处理(还没想好提取成什么格式,容后再说) ? 附上脚本 ? ?
新浪微博的用户名加密目前采用Base64加密算法,而新浪微博登录密码的加密算法使用RSA2,这是模拟登陆的重点,需要先创建一个rsa公钥,公钥的两个参数新浪微博都给了固定值,第一个参数是登录第一步中的pubkey...使用python3。...pass def get_su(username): """ 对 email 地址和手机号码 先 javascript 中 encodeURIComponent 对应 Python...= base64.b64encode(username_quote.encode("utf-8")) return username_base64.decode("utf-8") # 预登陆获得...userID = re.findall(weibo_pa, weibo_page.content.decode("utf-8", 'ignore'), re.S)[0] print(u"欢迎你 %s, 登陆成功
下面的操作针对于 m.weibo.cn : 这里要实现的是对微博用户的影响力抓取,我本文以广电时评为例。 点击查看,里面的数据会更多一点。...未登陆时: 这里是需要微博用户登陆之后才可以查看的, 所以为了实现我们的需求,我们开始模拟登陆。...首先来到微博移动端的登陆页面 然后选择使用账号密码登陆 先输入一个错误的账号来查看一下登陆的接口 错误的账号返回了retcode 查看下 Formdata 当然请求头也不能忘记 有了这些信息之后...如果需要获取指定的微博影响力。...我们可以通过接口 先访问用户api,获取用户主页的cid uid = '微博ID' user_api = 'https://m.weibo.cn/api/container/getIndex?
/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2018/7/1 上午3:29 # @Author : BrownWang # @Email.../0070m4EAly8fpp1pwqq26j3050050jrb.jpg 是否认证:False 微博说明:知名财经博主 头条文章作者 微博签约自媒体 关注人数:3301 粉丝数:111 性别:m 微博等级...:11 -----正在爬取第1页,第0条微博------ -----正在爬取第1页,第1条微博------ -----正在爬取第1页,第2条微博------ -----正在爬取第1页,第3条微博---...--- -----正在爬取第1页,第4条微博------ -----正在爬取第1页,第5条微博------ -----正在爬取第1页,第6条微博------ -----正在爬取第1页,第7条微博----...-- -----正在爬取第1页,第8条微博------ -----正在爬取第2页,第0条微博------ -----正在爬取第2页,第1条微博------ -----正在爬取第2页,第2条微博-----
这里模拟登陆会用到selenium这个自动化测试的工具,先介绍一下这个工具。.../driver/chromedriver.exe' 模拟登陆微博PC端 ? 这里账号密码可以写在配置文件中 加载配置文件 ?...模拟登陆微博移动端 这里用PC端模拟移动端,可以用谷歌浏览器来模拟,F12打开控制台管理工具 ? 接下来大家可以发现,移动端要比PC端简单的多,因为所有的标签都有ID。代码如下: ?
三方登录之微博登陆 准备工作 注册微博开放平台 注册地址: https://open.weibo.com/ 之后选择网站接入填写对应信息 图片 基本信息照的这个填写: 图片 高级信息是你内网穿透的地址...client_id=你的appkey&response_type=code&redirect_uri=你的回调地址 (微博请求你的时候会在你的回调地址后加一个code参数,这个参数你需要获取一下) 主要两个参数...client_id=你的appkey&response_type=code&redirect_uri=你的回调地址">微博登录 这只是一个简单的demo,具体的业务大家可以根据需求去编写
servertime, nonce, pubkey, rsakv def get_server_data(self, su): """与原来的相比,微博的登录从 v1.4.18 升级到了 v1.4.19...注册的手机号) password = "123456" # 密码 cookie_path = "Cookie.txt" # 保存cookie 的文件名称 id = '4477416430959369' # 爬取微博的...', 'username', 'following', 'followed', 'gender']) start_crawl(get_cookies(), id) 第八步:获取id 你需要获得想要找的微博...首先找到你想爬的微博,这里以微博故事为例,在浏览器内按下F12,并且点击评论按钮 点击‘网络’,找到一条像图中的get请求。...servertime, nonce, pubkey, rsakv def get_server_data(self, su): """与原来的相比,微博的登录从 v1.4.18 升级到了 v1.4.19
Python抓取微博有两种方式,一是通过selenium自动登录后从页面直接爬取,二是通过api。 这里采用selenium的方式。...strlist = strName.text.split(' ') nickname = strlist[0] print('昵称:' + nickname) # 3.微博数...d*" # 匹配数字,包含整数和小数 cntArr = re.findall(pattern, strCnt.text) print(strCnt.text) print("微博数...filter=0&page=1 # filter为0表示全部,为1表示原创 print("微博内容") pageList = driver.find_element_by_xpath...匹配数字,只包含整数 pageArr = re.findall(pattern, pageList.text) totalPages = pageArr[1] # 总共有多少页微博
需求分析 抓取 琢磨先生的新浪微博 ? 微博主页 抓取的内容包括:微博发布的时间,正文(仅提取文字),转发数,评论数,点赞数 ?...抓取的内容 数据是怎么加载的 新浪微博的数据是用ajax异步下拉加载的,在chrome的调试模式下可捕捉到相应的请求: ?...格陵兰', 'attitudes': 35, 'comments': 18, 'reposts': 1} {'id': '4276459473976711', 'text': '北极 微博视频', 'attitudes
❈ 本文简要讲述用Python爬取微博移动端数据的方法。可以看一下Robots协议。另外尽量不要爬取太快。如果你毫无节制的去爬取别人数据,别人网站当然会反爬越来越严厉。...环境介绍 Python3/Windows-10-64位/微博移动端 网页分析 以获取评论信息为例(你可以以自己的喜好获得其他数据)。
---恢复内容开始--- 需要用到的工具:python(pymouse、selenium)、chrome、webdriver 使用的webdriver一定要和chrome的版本相匹配,具体的对应关系可以参考以下博客...请务必选择正确的版本,我的这部分代码使用的是python2.7+64位系统,所以选择的是pywin32-221.win-amd64-py2.7.exe。 ? ...完成以上部分的内容之后正式进入到selenium+chrome+python+chrome的爬虫。
领取专属 10元无门槛券
手把手带您无忧上云