新浪微博

前和讯新浪微博高级工程师姚飞:合作,共赢。

ぃ、小莉子 提交于 2020-04-08 09:42:51
拥有十多年的开发经验,先后在华夏大地、和讯网、新浪微博担任高级前端工程师,作为一名程序界的“老炮儿”,看看他是如何理解共享经济大环境下程序员的解放生态,怎样合作共赢让未来的职业规划不再迷茫,这就是本期程序员客栈专访:前新浪微博高级工程师,姚飞,个人主页( https://www.proginn.com/wo/59692 ) 程序员客栈王鑫:您能简单自我介绍一下吗?并且说说自己是如何进入到这行的。 姚飞: 大家好,我是姚飞,毕业于北京林业大学,是在大学的课程里开始学习编程的。我在初中的时候就开始接触到计算机,感觉很神奇。从那时起,我就一直向往走进这个世界。后来,在学校里,根据兴趣自己做了一些小程序。感受到编程乐趣,看到计算机的创造力和表现力。我相信它可以实现在现实世界无法实现的东西。毕业先后通过系统的自学,初步掌握了编程方法,之后入职华夏大地、和讯科技、新浪微博等几家大型互联网公司工作,先后参与了证券行情数据图形化、新浪微博的前端建设等项目。目前在做技术管理工作。 程序员客栈王鑫:能谈谈在这些公司的具体的工作负责哪些? 姚飞: 时间太久了,我谈谈几个印象深刻的吧。在华夏大地做远程教育,这段时间,我全面接触了多媒体、课程制作流程和行业标准等内容。然后,在和讯科技工作期间,我深入研究了设计模式,开始编写前端开发框架。到了新浪微博工作后,更多关注程序运行性能、开发的效率等问题。这时

模拟登录新浪微博(Python)

守給你的承諾、 提交于 2020-01-05 02:34:41
PC 登录新浪微博时, 在客户端用js预先对用户名、密码都进行了加密, 而且在POST之前会GET 一组参数,这也将作为POST_DATA 的一部分。 这样, 就不能用通常的那种简单方法来模拟POST 登录( 比如 人人网 )。 由于要用的一部分微博数据用API获取不方便, 所以还是要自己写个小爬虫, 模拟登录是必不可少的。琢磨了一下这个东西,最终登录成功。 1, 在提交POST请求之前, 需要GET 获取两个参数。 地址是: http://login.sina.com.cn/sso/login.php?client=ssologin.js (v1.3.18) 得到的数据中有 "servertime" 和 "nonce" 的值, 是随机的,其他值貌似没什么用。 2, 通过httpfox 观察POST 的数据, 参数较复杂,其中 “su" 是加密后的username, "sp"是加密后的password。"servertime" 和 ”nonce" 是上一步得到的。其他参数是不变的。 username 经过了BASE64 计算: username = base64.encodestring( urllib.quote(username) )[:-1]; password 经过了三次SHA1 加密, 且其中加入了 servertime 和 nonce 的值来干扰。 即:

浅析新浪微博:以css实现的小三角提示框

浪尽此生 提交于 2019-12-10 18:56:16
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 分析新浪微博就会发现一个有趣的带小三角提示框。先来看下效果图: 仔细查看代码才发现,并不是使用传统做法以图片的background属性实现,而是以两个"◆"菱形字符实现,这个菱形支持 编码有 GBK,gb312,UTF-8等,也可通过转义字符&#9670输入。 实现的原理是:em标签里得◆菱形符号作为外三角边框,而<span>标签里的◆菱形符号正好填充em,当两个菱形符号重叠时,只需调整span里的菱形往下移动1px,那么就能呈现1px的向上三角边框。 由于新浪微博的特性,代码并不容易提取。按照它的思路,我只好自己写一次。 下面是html,为了统一把em标签换成span标签。 <div class="comment"> <div class="arrow"> <span class="out">◆</span> <span class="inside">◆</span> </div> <p>带小三角的提示框</p> </div> css代码: .comment{padding:10px;background:#fff; border-radius:3px;border:1px solid #e1e4e5;position:relative } .arrow {_display:none;position

项目总结:定时给微博用户的最新微博回复

偶尔善良 提交于 2019-11-30 19:53:57
来到新单位才4天,跟原来的国企就是不一样,各种开发都要求快速健壮,写完需求都要跑测试用例,虽然比在国企累多了,但是每天都能学到新东西,反正年轻,不用图找个轻松的工作。 刚来就有个小需求,写个定时任务,每天读取一个文件,里面是新浪微博用户的uid,把这些uid存到数据库。还有个定时任务是从数据库中取出uid,根据uid检查用户发出的第一条微博内容的mid,给这条微博做回复。 需求很明了,一条路就顺下来,没什么很难得,但是实际操作就遇上很多问题。 首先没有依托的项目,需要自己新建,这样很多功能的比如数据库映射层还要重新写,比较麻烦。新建项目前先了解下功能,首先读取文件肯定没问题,存到数据库也不难,先研究获取用户mid和给微博评论功能。 先看了看微博的api::open.weibo.com。找到对应的api接口 因为是到新单位,稍微有点着急,想赶紧弄出来,由于我自己申请过一个新浪微博开发者账号,有token,所以这2个需要的功能大概看了看就开始用httpclient写对应的功能,后来问了下同事才知道有现成的weibo4j的包文件,直接调用里面对应功能行。而且也不用token,使用cookies就行 Timeline tm = new Timeline(); JSONObject status = null; status = tm.getUserTimelineIdsByUid(uid)