【好文要转】Python:模拟登录以获取新浪微博OAuth的code参数值
【转自】http://www.tuicool.com/articles/zAz6zi
【原文】http://blog.segmentfault.com/hongfei/1190000000343851
在使用新浪微博提供的API时,首先需要通过认证和授权,关于这部分,大家可以参考下 这篇文章
在完成以上步骤后,大家会发现每次要使用微博API之前,都需要我们手动输入code参数的值才行。
其中,code参数的值是在浏览器的地址栏中,也就是说,只要我们能使用代码正确地模拟浏览器发包,那么也就能得到code参数的值。
以下贴上相应的实现代码:
__author__ = 'Fly'
# -*- coding: utf-8 -*-
from weibo import APIClient
import urllib2
import urllib #APP_KEY和APP_SECRET,需要新建一个微博应用才能得到
APP_KEY = 'xxxxxxxx'
APP_SECRET = 'xxxxxxxxxxxxxxxxxxx'
#管理中心---应用信息---高级信息,将"授权回调页"的值改成https://api.weibo.com/oauth2/default.html
CALLBACK_URL = 'https://api.weibo.com/oauth2/default.html'
AUTH_URL = 'https://api.weibo.com/oauth2/authorize' def GetCode(userid,passwd):
client = APIClient(app_key = APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
referer_url = client.get_authorize_url()
postdata = {
"action": "login",
"client_id": APP_KEY,
"redirect_uri":CALLBACK_URL,
"userId": userid,
"passwd": passwd,
} headers = {
"User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20100101 Firefox/25.0",
"Referer":referer_url,
"Connection":"keep-alive"
}
req = urllib2.Request(
url = AUTH_URL,
data = urllib.urlencode(postdata),
headers = headers
)
resp = urllib2.urlopen(req)
return resp.geturl()[-32:]
if __name__ == "__main__":
print GetCode(用户名,密码)
【好文要转】Python:模拟登录以获取新浪微博OAuth的code参数值的更多相关文章
- 【Python数据分析】Python模拟登录(一) requests.Session应用
最近由于某些原因,需要用到Python模拟登录网站,但是以前对这块并不了解,而且目标网站的登录方法较为复杂, 所以一下卡在这里了,于是我决定从简单的模拟开始,逐渐深入地研究下这块. 注:本文仅为交流学 ...
- 【py登陆】python模拟登录
用Python模拟登录网站 前面简单提到了 Python 模拟登录的程序,但是没写清楚,这里再补上一个带注释的 Python 模拟登录的示例程序.简单说一下流程:先用cookielib获取cookie ...
- 忘记秘密利用python模拟登录暴力破解秘密
忘记秘密利用python模拟登录暴力破解秘密: #encoding=utf-8 import itertools import string import requests def gen_pwd_f ...
- [Python] Python 模拟登录,并请求
Python 模拟登录,并请求 # encoding: utf- import requests import socket import time socket.setdefaulttimeout( ...
- Python模拟登录实战(三)
目标:模拟登录知乎 代码如下: #!/usr/bin/env python # -*- coding:utf-8 -*- __author__ = 'ziv·chan' import re impor ...
- Python模拟登录实战(二)
目标:1.模拟登录豆瓣,2.自动更改签名和发表说说. 代码如下: #!/usr/bin/env python # -*- coding:utf-8 -*- __author__ = 'ziv·chan ...
- Python模拟登录实战(一)
今天,学习了模拟登录新浪微博.模拟登录主要有两种方式,一.利用Cookie:二.模仿浏览器的请求,发送表单. 法一: Cookie:指某些网站为了辨别用户身份而储存在用户本地终端上的数据(通常经过加密 ...
- Python模拟登录的几种方法
目录 方法一:直接使用已知的cookie访问 方法二:模拟登录后再携带得到的cookie访问 方法三:模拟登录后用session保持登录状态 方法四:使用无头浏览器访问 正文 方法一:直接使用已知的c ...
- [Python] 模拟登录网站(。。为了之后操作数据。。)
我司的内部管理(Web)系统(日报)着实..(mafan).. 所以,就想自己动手增加一下便利性. 计划是, - 桌面程序 用来方便记录(按自己格式,数据随时保存到sqlite中,备用) 通过一览来确 ...
随机推荐
- android xml操作
import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.ArrayList; import ...
- Linux Shell入门(转载)
From:http://www.cnblogs.com/suyang/archive/2008/05/18/1201990.html 从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用 ...
- sphinx 全文搜索引擎安装与配置
sphinx 全文搜索引擎 sphinx的安装与配置 ------------------------------------------------------------------------- ...
- Category的使用
1.创建一个objective-c file , 可以选择 category, extension ,protocol, empty 文件.选category 就能建立类别. category机制,它 ...
- 使用python + tornado 做项目demo演示模板
很简单,可是却也折腾了不是时间,走了不少弯路.在此备注记录一下,以供后需. # web_server.py #!/usr/bin/env python # coding=utf-8 import os ...
- Android 2.3 NFC简介
Android 2.3加入了NFC(近场通讯)的支持.官网developer.android.com的英文介绍如下:Near Field Communications (NFC)Android 2.3 ...
- linux shell 参数传递
在shell编程时.可以使用参数.Shell有位置参数和内部参数 1. 位置参数 由系统提供的参数称为位置参数.位置参数的值可以用$N得到,N是一个数字,如果为1,即$1.类似C语言中的数组,Linu ...
- 在备份和导入mysql数据库遇到的几个问题
一.怎么导出和备份 1.普通方法,运用工具或者命令直接导出sql脚本,以navicat为例,直接选中数据库,转储sql文件 问题:当有视图或者函数执行失败时不好处理 2.视图函数和表数据分开导出 以n ...
- [Flex] as3xls读取excel,修改保存单表(一)
经过大神修改过的as3xls支持中文,并可以修改保存单一sheet,保存后原有的excel样式均会消失,目前仅能如此. <?xml version="1.0" encodin ...
- wince6.0应用程序自启动
主要思想:将应用程序添加到image里,然后用应用程序代替桌面应用程序,从而使应用程序自启动. 主要步骤: 1.将应用程序MyApp.exe拷贝到wince600\OS ...