123

我的个人博客(
肥龙的博客)发表了新文章了!

欢迎大家过来阅读,以下是文章的连接地址

http://www.comingcode.com/?p=367

# -*- coding: utf8 -*- ‘‘‘ Created on 2015-01-22
@author : dragon ‘‘‘ import urllib2 import urllib import cookielib import hashlib import re class OSC: def __init__(self): self.usercode = "" self.userid = "" self.cj = cookielib.LWPCookieJar(); self.opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(self.cj)); urllib2.install_opener(self.opener); #登录 def login(self, name, pwd): loginPostData = { ‘email‘ : name, ‘pwd‘ : hashlib.sha1(pwd).hexdigest() #密码SHA1加密 }; #必须设置head否则返回403拒绝 loginRequest = urllib2.Request(‘https://www.oschina.net/action/user/hash_login‘,urllib.urlencode(loginPostData)); loginRequest.add_header(‘Accept‘,‘*/*‘); loginRequest.add_header(‘Accept-Language‘,‘zh-CN,zh;q=0.8‘); loginRequest.add_header(‘User-Agent‘,‘Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.72 Safari/537.36‘); loginRequest.add_header(‘Content-Type‘,‘application/x-www-form-urlencoded‘); sendPost = urllib2.urlopen(loginRequest); #获取页面中的user_code和 user #user_code应该是账号加密后的结果(用base64解码为乱码,但是可以看出是"XXXX:账号"的格式),user应该是用户唯一id,不明白这里为什么不直接用username reqRequest = urllib2.Request(‘http://www.oschina.net/‘); reqRequest.add_header(‘Accept‘,‘*/*‘); reqRequest.add_header(‘Accept-Language‘,‘zh-CN,zh;q=0.8‘); reqRequest.add_header(‘User-Agent‘,‘Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.72 Safari/537.36‘); reqRequest.add_header(‘Content-Type‘,‘application/x-www-form-urlencoded‘); content = urllib2.urlopen(reqRequest).read(); #用bs4不知什么原因不能用name获取值,折腾半天直接用正则吧 matchVal = re.search(u‘name=‘user_code‘ value=‘(?P.*?)‘/>‘,content); self.usercode = matchVal.group(‘user_code‘); matchVal = re.search(u‘name=‘user‘ value=‘(?P.*?)‘/>‘,content); self.userid = matchVal.group(‘user_id‘); #发动弹 def SendPopMsg(self, msg): #终于可以发动弹了 dtPostData = { ‘user_code‘ : self.usercode, ‘user‘ : self.userid, ‘msg‘: msg.encode("utf8") }; dtRequest = urllib2.Request(‘http://www.oschina.net/action/tweet/pub‘,urllib.urlencode(dtPostData)); dtRequest.add_header(‘Accept‘,‘*/*‘); dtRequest.add_header(‘Accept-Language‘,‘zh-CN,zh;q=0.8‘); dtRequest.add_header(‘User-Agent‘,‘Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.72 Safari/537.36‘); dtRequest.add_header(‘Content-Type‘,‘application/x-www-form-urlencoded‘); sendPost = urllib2.urlopen(dtRequest); #发送博文 def SendBlog(self, title, content, isPrivate): postdata = { ‘user_code‘: self.usercode, ‘draft‘: 176444, ‘title‘: title.encode("utf8"), ‘catalog‘: 407791, ‘abstracts‘: ‘‘, ‘content‘: content.encode("utf8"), ‘content_type‘: 2, ‘classification‘: 430381, ‘type‘: 1, ‘privacy‘: isPrivate, ‘deny_comment‘: 0, ‘auto_content‘: 1, ‘as_top‘: 0 } loginRequest = urllib2.Request(‘https://www.oschina.net/action/blog/save?‘,urllib.urlencode(postdata)); loginRequest.add_header(‘Accept‘,‘*/*‘); loginRequest.add_header(‘Accept-Language‘,‘zh-CN,zh;q=0.8‘); loginRequest.add_header(‘User-Agent‘,‘Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.72 Safari/537.36‘); loginRequest.add_header(‘Content-Type‘,‘application/x-www-form-urlencoded‘); sendPost = urllib2.urlopen(loginRequest); if __name__ == "__main__": test = OSC() test.login(‘[email protected]‘, ‘luofeilong‘) test.SendPopMsg("动弹一下")

时间: 2024-08-06 20:06:56

123的相关文章

2015-05-29股票资料

代码 名称 股价 总市值 所属行业 6日涨幅% 6日换手% 总股本 601628 中国人寿 35.26 9966亿 保险 -3.85 2.77 283亿 601318 中国平安 85.44 7809亿 保险 -1.34 18.87 91.4亿 601601 中国太保 32.23 2921亿 保险 -3.85 10.88 90.6亿 601336 新华保险 58.81 1835亿 保险 -4.53 14.57 31.2亿 600660 福耀玻璃 16.43 412亿 玻璃陶瓷 1.55 23.92

谈谈 char *num="123";和char num[4]="123";的区别

最近写程序的时候发现这样一个问题 #include<iostream> #include <string.h> using namespace std; void reverse(char *str) { int len=strlen(str); char *p=str; char *q=str+len-1; while(p<q) { char temp=*p; *p=*q; *q=temp; p++; q--; } } int main() { char *n1="

Searching Quickly UVA 123

说说:感觉这题目是做得越来越繁琐了.这道题基本上把接下来课设要做的英语词典的框架给做出来了.好像本题的解法就是所谓的倒排索引.先给你一系列的句子,其实就是一系列的词啦.当然里面要把一些词去掉.然后把剩下的每个词都做成索引.最后按字典序把所有词所在的句子都输出就可以了.我的做法是定义了一个结构index包含关键词和一个指针,该指针指向一个链表,链表中的每个节点包含了该关键词所在的句子的位置,以及该关键词在句子中的位置.然后读入词,若不是要忽略的词就判断该词是否已经在关键词表中,在则添加到相应关键词

10.16输入一个字符串,内有数字和非数字字符,如: a123x456 17960? 302tab5876 将其中连续的数字作为一个整数,依次存放到一数组num中。例如123放在num[0]中,456放在num[1]中……统计共有多少个整数,并输出这些数。

10.16输入一个字符串,内有数字和非数字字符,如: a123x456 17960? 302tab5876 将其中连续的数字作为一个整数,依次存放到一数组num中.例如123放在num[0]中,456放在num[1]中--统计共有多少个整数,并输出这些数. #include <stdio.h> int main(){ void search(char * parr, int * pnum); char arr[100],* parr; int num[30],* pnum; parr=arr;

RawText &quot;123&quot; must be wrapped in an explicit &lt;Text&gt; component

"123"行文本必须包装在一个明确定义<Text></Text>组件里.

nyoj 123 士兵杀敌(四)【树状数组】+【插线问点】

树状数组有两种情况:插点问线和插线问点.这道题是插线问点. 因为树状数组最简单的作用是计算1~x的和,所以给出(a, b, c),表示(a,b)区间增加c, 那我们只需要在a点原来的基础上增加c,然后在b点原来的基础上更新-c,这样我们算最终结果的时候在(a, b)之间的就是增加了c,在区间之外的就是没有增加. 代码: #include <stdio.h> #include <string.h> #define M 1000005 int c[M], m; int lowbit(i

【C语言】练习1-23

 题目来源:<The C programming language>中的习题  练习1-23: 写一个删除C语言程序中所有的注释语句.要正确处理带引号的字符串与字符常量.在C语言中,注释不允许嵌套 思路: 注释语句分为两种://和/* */.在代码中,我们需要做的是,删除所有的注释语句.以下分两种情况来分析: 注释符号为//的时候,首先我们读取字符的时候,我们会按顺序读取,读取第一个字符/,我们需要把这个字符存入tmp中,如果接下来的字符仍然为/,说明这一行都是注释,需要直接跳过而不输出,直到

apt-cyg update --2017-02-17 07:57:24-- http://mirrors.163.com/cygwin//x86_64/setup.bz2 正在解析主机 mirrors.163.com... 123.58.173.185, 123.58.173.186 正在连接 mirrors.163.com|123.58.173.185|:80... 已连接。 已发出 HTT

apt-cyg update --2017-02-17 07:57:24-- http://mirrors.163.com/cygwin//x86_64/setup.bz2 正在解析主机 mirrors.163.com... 123.58.173.185, 123.58.173.186 正在连接 mirrors.163.com|123.58.173.185|:80... 已连接. 已发出 HTTP 请求,正在等待回应... 304 Not Modifi cygwin的mirror后面的 / 去掉

123. Best Time to Buy and Sell Stock (三) leetcode解题笔记

123. Best Time to Buy and Sell Stock III Say you have an array for which the ith element is the price of a given stock on day i. Design an algorithm to find the maximum profit. You may complete at most two transactions. Note:You may not engage in mul

js 字符串“123”,变成整数123,不用parseInt 函数

1 var s = "123"; 2 console.log(s.charAt(0)*100+s.charAt(1)*10+s.charAt(2)*1);