(一)编程环境 操作系统:Win 10 编程语言:Python 3.6 (二)安装selenium 这里使用selenium实现。...如果没有安装过python的selenium库,则安装命令如下 pip install selenium (三)下载ChromeDriver 因为selenium要用到浏览器的驱动,这里我用的是Google...(四)分析微博登录界面 通常而言,m站的网页结构比pc站要简单的多,咱们可以从m站入手。...微博m站登录界面的网址是 https://passport.weibo.cn/signin/login 在Chrome浏览器中打开此地址,并右键点击界面的任何位置-->查看网页源代码,发现邮箱/手机号框的...(五)编写python程序 from selenium import webdriver import time browser = webdriver.Chrome("C:\Program Files
觉得微博手动点赞太过麻烦?其实自动点赞的实现并不困难!...本篇会有Cookie、session和token方面的知识,不太了解的可以先看下 我们先通过前两个小节大概了解一下我们Python登录微博的原理,然后第三小节就会跟大家介绍微博自动点赞的代码。...目录 ---- 一、实现登陆微博功能 首先进入后按F12打开开发者工具,将如图的按钮点击后,在浏览器中手动登陆一次,在Network 标签的XHR类型中找到Login请求标签,在Form data下我们可以看到...既然都登陆微博了,我们先试试能不能顺便发微博吧 同样的,在微博编辑页面点击F12进入开发者工具,我们先试试发送一个微博,Network标签会出现什么新的内容吧 「网页截图↓」 当微博界面点击发送之后...self.login() self.compose(content) weibo = WeiboSpider() weibo.send(input("请输入发送的内容:")) 三、实现微博自动点赞
抓包分析 首先打开charles,记录从打开浏览器到新浪微博登陆成功的全部http请求 打开新浪微博,等待页面加载完成后,输入账号密码点击登陆,charles停止抓包,关闭浏览器。...理论上我们只需要能完整的提交这个表单就能实现新浪微博的登陆。但是如果进行试验的话,会发现将该表单完整复制之后使用requests进行post提交是无法登陆的,所以可以断定其中某些字段是通过动态获取。...由于新浪微博的首页内容太多太杂 我们将上文中拿到的登陆post请求https://login.sina.com.cn/sso/login.php?...实现def get_username(self): username_quote = urllib.parse.quote_plus(self.user_name) username_base64...return json_data 根据password = RSAKey.encrypt([me.servertime, me.nonce].join("\t") + "\n" + password)用python
一:获取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...以下为我的关注用户的微博: ? ? ? ? 拿上边代码为例,这里我们获取的信息有: ?
作者:奶权 来源:http://www.jianshu.com/p/9e7ba0a0a610 0x00 前言: 前几个星期在写一个微博监控系统 可谓是一波三折啊 获取到微博后因为一些字符编码问题 导致心态爆炸开发中断...返回的是json格式的数据 用户的微博信息都在cards列表里每条数据的mblog数组里面 包括微博正文、图片、来源与时间等 其中card_type标识的是微博类型 例如:文字微博 图片微博 视频微博...转发等 经过测试文字微博和图片微博的card_type标识都一样为9 这里初步只开发监控文字和图片微博的功能其实就是懒 0x02 开发 首先需要模拟登陆 后续的操作都需要基于登陆的格调来进行...json数据 代码片段: 这里把所有获取到的微博的id存起来 后面继续访问是发现有新的微博id不在这个列表里就证明是新发布的微博 代码片段: 将这些方法封装成了一个类 完整代码如下 写了个一发现有新微博就发邮件提醒的功能...测试的时候这样比较方便 要是拿来用的话可以酌情增加间隔时间 当有微博发布的时候 大功告成啦 监控小姐姐的微博去喽~
准备工作 注册微博开放平台 注册地址: https://open.weibo.com/ 之后选择网站接入填写对应信息 ? 基本信息照的这个填写: ?...client_id=你的appkey&response_type=code&redirect_uri=你的回调地址 (微博请求你的时候会在你的回调地址后加一个code参数,这个参数你需要获取一下) 主要两个参数...client_id=你的appkey&response_type=code&redirect_uri=你的回调地址">微博登录
/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条微博-----
那么如果你有很感兴趣的博主,不妨定期将Ta的微博保存,这样即使明天微博服务器全炸了,你也不用担心找不到那些微博了。(自己的微博也同理哦。)...本例主要基于Python3.6.2版本,能够实现对于单博主微博内容的完整爬取、编号整理和本地保存。...环境介绍 Python3.6.2/Windows-7-64位/微博移动端 实现目标 将微博上你感兴趣的博主微博(全部或过滤非原创等)内容获取,包括微博文本、图片和热评,文本和热评按编号存入txt文件中...我们主要需要以下数据: ‘id’:微博编号 ‘text’:微博文本 ‘islongText’:判断该条微博是否为长微博 ‘bmiddle_pic’:判断该微博是否带有图片 点开某条具体微博,来到微博完整内容和评论页面...实现逻辑 通过控制page参数获取每页微博的cards数据,其中包含各条微博的详细信息; 开始遍历每一页微博页,同时遍历每一页的每一个微博,期间进行如下操作: 判断是否为长微博,如不是获取文本信息
在线微博数据可视化,即时采集微博数据,通过不同词云进行展示数据 完整代码gitee地址:https://gitee.com/lyc96/weibo 1.先来效果图(压压惊) 1)输入明星完整名字 ?...2.程序功能介绍 1)根据明星姓名去爬取该明星的微博言论,并存储到文本文件(项目中不涉及任何数据库存储),程序中也会根据日期进行去重爬取,避免程序重复爬取同一条微博。...2)采集好的明星微博文本存储到txt文本中,使用stylecloud进行词云生成图片(有六种图形词云,可以在网页端进行切换) 3.python后端代码 # -*- coding: utf-8 -*- "
所以可以用MozillaCookieJar或LWPCookieJar,去自动实现cookie的save。 [python] #!...(Python) PC 登录新浪微博时, 在客户端用js预先对用户名、密码都进行了加密, 而且在POST之前会GET 一组参数,这也将作为POST_DATA 的一部分。...接下来再请求这个URL,这样就成功登录到微博了。 记得要提前build 缓存。 下面是完整代码(没加注释,凑合看吧): #!...很多豆友反馈有模拟登录新浪微博抓取数据的需求,其实对于一般的微博数据获取,如用户信息、微博内容等,使用微博开放平台API是更明智的选择:速度更快,而且节省许多网页处理的功夫。...熟悉Web的朋友只要定期维护模拟登录的代码就可以一直成功登录微博。如果不那么熟悉的话,其实可以采用更naive的思路来解决:直接将Cookie发送给新浪微博以实现模拟登录。
0x00 前言: 前几个星期在写一个微博监控系统 可谓是一波三折啊 获取到微博后因为一些字符编码问题 导致心态爆炸开发中断 但是就在昨天发现了另外一个微博的接口 一个手机微博的接口https://m.weibo.cn...返回的是json格式的数据 用户的微博信息都在cards列表里每条数据的mblog数组里面 包括微博正文、图片、来源与时间等 其中card_type标识的是微博类型 例如:文字微博 图片微博 视频微博...转发等 经过测试文字微博和图片微博的card_type标识都一样为9 这里初步只开发监控文字和图片微博的功能其实就是懒 0x02 开发 首先需要模拟登陆 后续的操作都需要基于登陆的格调来进行...json数据 代码片段: 这里把所有获取到的微博的id存起来 后面继续访问是发现有新的微博id不在这个列表里就证明是新发布的微博 代码片段: 将这些方法封装成了一个类 完整代码如下 写了个一发现有新微博就发邮件提醒的功能...测试的时候这样比较方便 要是拿来用的话可以酌情增加间隔时间 当有微博发布的时候 大功告成啦 监控小姐姐的微博去喽~ 作者:奶权 来源:http://www.jianshu.com/p/9e7ba0a0a610
关注关系产生的四种关系状态 关注 粉丝 双向关注(互粉) 无关系 需求分析 在微博中,每一个用户都会有一个关注列表,一个粉丝列表。用户可以查看自己的关注,粉丝列表,也可以查看别人的关注,粉丝列表。...array_push($userInfoList, $userInfo); } return $userInfoList; } 用Redis实现微博关注关系就介绍到这
这里以微博登录为例。微博登录包括身份认证、用户关系以及内容传播。允许用户使用微博帐号登录访问第三方网站,分享内容,同步信息。...DOCTYPE html> 微博登录 点击这里进行微博登录 效果图: 以上就是本文的全部内容,希望对大家的学习有所帮助
本例主要基于Python3.6.2版本,能够实现对于单博主微博内容的完整爬取、编号整理和本地保存。...环境介绍 Python3.6.2/Windows-7-64位/微博移动端 实现目标 将微博上你感兴趣的博主微博(全部或过滤非原创等)内容获取,包括微博文本、图片和热评,文本和热评按编号存入txt文件中...我们主要需要以下数据: ‘id’:微博编号 ‘text’:微博文本 ‘islongText’:判断该条微博是否为长微博 ‘bmiddle_pic’:判断该微博是否带有图片 点开某条具体微博,来到微博完整内容和评论页面...实现逻辑 通过控制page参数获取每页微博的cards数据,其中包含各条微博的详细信息; 开始遍历每一页微博页,同时遍历每一页的每一个微博,期间进行如下操作: 判断是否为长微博,如不是获取文本信息,否则进入详细微博内容请求...代码实现 # -*- coding:utf-8 -*- ''' Created on 2018年3月9日 @author: ora_jason ''' from lxmlimport html import
.decode("utf-8") # 预登陆获得 servertime, nonce, pubkey, rsakv def get_server_data(self, su): """与原来的相比,微博的登录从...注册的手机号) password = "123456" # 密码 cookie_path = "Cookie.txt" # 保存cookie 的文件名称 id = '4477416430959369' # 爬取微博的...', 'username', 'following', 'followed', 'gender']) start_crawl(get_cookies(), id) 第八步:获取id 你需要获得想要找的微博...首先找到你想爬的微博,这里以微博故事为例,在浏览器内按下F12,并且点击评论按钮 点击‘网络’,找到一条像图中的get请求。....decode("utf-8") # 预登陆获得 servertime, nonce, pubkey, rsakv def get_server_data(self, su): """与原来的相比,微博的登录从
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] # 总共有多少页微博
实现方式 (1)推送 IM消息 就是一个典型的推送系统,服务端会主动将消息推送给客户端; IM消息 实时性比较强,而微博的实时性相对不这么强,别人发的信息,订阅者晚个几分钟,甚至十几分钟收到都无所谓;...IM群与微博 有共同点:一个人发布一条群消息,推送给群内的其他成员; IM群与微博 的不同点:群人数有限,而姚晨被500W人关注,消息扩散级别不在一个数量级; 如果使用推送来实现feed系统的话,姚晨发布一条消息...(2)拉取 IM系统消息(就是登陆QQ广告那种消息) 与微博 的共同点:系统消息需要推送给所有IM用户; IM系统消息 与微博 的不同点:系统消息频率很低,可能每天几条,可微博发送频率很高; IM系统消息的实现...系统消息实时性和微博类似,有个十几分钟延时也无所谓。...微博压力和IM系统消息压力不在一个数量级: 不妨设微博同时在线为1000W(指在浏览微博网页的),平均每人在线时长为1小时,每天需要轮询次数为: 1000w * 60分钟 / 10分钟一次 = 6000w
现在大家都在上微博,而微博的滑动分页引起了我的兴趣,于是自己模仿着做,以下是这段时间的成果(单纯实现,没有考虑到效率和其他细节问题) 实现内容:以30条记录为一页,每页分三次显示,每当把滚动条拖动到离浏览器底部...如果数据加载失败,显示重新加载连接,实现用户手动重新加载数据。 ...2.分页用System.Web.UI.WebControl下的PagedDataSource十分省心,但本次实现没有考虑效率问题所以出现重复操作xml文件的情况,实际项目中应避免哦!...3.dropdownlist的选择更改事件是整个页面唯一一个使用非ajax实现的,目的是丢弃之前页面的全部,重新加载一个画面。...如有更好的实现方法和改进的方式,请大家指教^_^
最近由于需要一直在研究微博的爬虫,第一步便是模拟登陆,从开始摸索到走通模拟登陆这条路其实还是挺艰难的,需要一定的经验,为了让朋友们以后少走点弯路,这里我把我的分析过程和代码都附上来。...现在微博、空间等大型网站在输入用户名后基本都会做编码或者加密处理,这里在用户名输入框输入我的账号,通过抓包工具可以看到服务器会返回一段字符串: 这一步就是预登陆过程,同学们可以自己试试。...第一种方式如果是遇到微博调整了登陆加密算法,就必须改加密代码,第二种方式和第三种方式不存在这个问题。...但是微博有点坑啊,这里还需要有一步,就是图一所示的类似 http://passport.weibo.com/wbs... , 这一步会将请求重定向,返回当前账号的登陆信息,如下图: 那么问题来了,怎么获取上面的请求地址呢...可能有的老手觉得我写得很啰嗦,但其实很多新手可能都不知道这些细节,所以我把我在分析新浪微博模拟登陆的过程全写了出来。另外,除了这种方式,本文提到的另外两种方式也有实现。