获取新浪微博cookie

之前也百度了一下如何获取新浪微博cookie,附上其中出现频率最高的教程的网址 https://www.douban.com/note/264976536/?start=0#32893498

自己按照上面的步骤试了一下,然后发现找不到weibo.com,然后就试了一下其他的

首先也是用chrome浏览器打开,F12打开(我的键盘好像没有转换,所以要用Fn+F12),或者右键->检查

其他。。如图吧,找到然后复制cookie那一长串

为了验证,我顺带试了一下这个将Cookie作为访问微博的header参数提交的例子https://gist.github.com/ghostrong/d10c061000b7b65e5039

附上源代码

#coding=gbk

""" Simulate a user login to Sina Weibo with cookie.
You can use this method to visit any page that requires login.
"""

import urllib2
import re

cookie = ‘your cookie‘  # get your cookie from Chrome or Firefox
headers = {
    ‘User-Agent‘: ‘Mozilla/5.0 (Windows NT 6.1; rv:24.0) Gecko/20100101 Firefox/24.0‘,
    ‘cookie‘: cookie
}

def visit():
    url = ‘http://weibo.com‘
    req = urllib2.Request(url, headers=headers)
    text = urllib2.urlopen(req).read()

    # print the title, check if you login to weibo sucessfully
    pat_title = re.compile(‘<title>(.+?)</title>‘)
    r = pat_title.search(text)
    if r:
        print r.group(1).decode("utf-8")

if __name__ == ‘__main__‘:
    visit()

原来的代码第一行的编码定义是 #coding=utf-8

但是我在运行的时候就一直出现输出乱码的问题,然后就又查了一下资料,附上链接 http://www.cnblogs.com/FlyCat/archive/2013/04/06/3002885.html

乱码产生的原因是Python在读取时默认解码方式是用操作系统编码,如果和保存时的编码方式不一样,就会出现乱码

比如以下片段,文件保存格式是utf-8

#coding=utf-8
print ‘是‘ #输出乱码

因为windows默认的编码方式是GBK,python文件保存时使用了utf-8,在读取时,python使用GBK的编码表去解utf-8编码的字节码,因为GBK与UTF-8编码不兼容,自然出现了乱码问题

解决方法:

1.直接使用 u‘是‘ 形式,指明以unicode编码,解码方式会以顶部 #coding定义的编码方式,如果不写,以操作系统当前编码方法,建议写上#coding,因为要让操作系统编码和源文件编码经常会不一样。推荐使用这种方式

2.输出时指定解码方法  print ‘是‘.decode("utf8") ,必须和保存的编码一致,忽略#coding的定义

3.将#coding 和保存编码改为和操作系统一样的编码,就可以直接print ‘是‘ 正常输出,也不推荐,因为需要事先知道操作系统编码,复制到其他电脑上,操作系统编码不一样就会出错

#coding=gbk
print u‘是‘ #方法1
print ‘是‘.decode("gbk") #方法2
print ‘是‘ #方法3
时间: 2024-11-05 06:16:24

获取新浪微博cookie的相关文章

浅谈 php 采用curl 函数库获取网页 cookie 和 带着cookie去访问 网页的方法!!!!

由于近段时间帮朋友开发一个能够查询正方教务系统的微信公众平台号.有所收获.这里总结下个人经验. 开讲前,先吐槽一下新浪云服务器,一个程序里的   同一个函数  在PC测试可以正常运行,在它那里就会挂的现象. 老样子,我将在代码里注释清楚.使用下面的函数,将会获得两种形式的 cookie,一种保存在文件中,一种直接以变量的形式返回, 经验提示: 有时候,在不同的代码运行环境中,带着文件cookie 去访问会成功,而变量却失败,有时候却想法.不过, 目前,这两种方法总有一种会成功. 1 functi

Python 获取新浪微博的热门话题 (API)

#!/usr/bin/python # -*- coding: utf-8 -*- ''' Created on 2014-06-27 @author: guaguastd ''' import json # Refer to http://blog.csdn.net/guaguastd/article/details/33664443 from login import weibo_login # sina weibo basic secret information APP_KEY = ''

Python 获取新浪微博的最新公共微博

API: statuses/public_timeline 返回最新的200条公共微博,返回结果非完全实时 CODE: #!/usr/bin/python # -*- coding: utf-8 -*- ''' Created on 2014-7-3 @author: guaguastd @name: statuses_public_timeline.py ''' def public_timeline(weibo_api, count): #public_timeline = weibo_ap

清除Cookie、获取指定Cookie的值、添加一个Cookie(24小时过期)、添加一个Cookie

MXS&Vincene  ─╄OvЁ  &0000007 ─╄OvЁ  MXS&Vincene MXS&Vincene  ─╄OvЁ:今天很残酷,明天更残酷,后天很美好,但是绝大部分人是死在明天晚上,只有那些真正的英雄才能见到后天的太阳. MXS&Vincene  ─╄OvЁ:We're here to put a dent in the universe. Otherwise why else even be here? 正文>>>>>

构造个人轻量级XSS平台获取管理员cookie并登录

一.前言 本平台是个人轻量级XSS测试平台,仅作为练习参考. 二.实验环境 服务器操作系统:Centos 6.6 Web容器:Apache 三.平台搭建过程 安装Apache 安装PHP 安装Git工具 从GitHub克隆XSS平台源码 删除默认网站内容 rm  -rf  /var/www/* 创建新的网站目录 mkdir  /var/www/xss 从GitHub克隆xss测试源码(https://github.com/firesunCN/BlueLotus_XSSReceiver.git)

Python3获取新浪微博内容乱码问题

用python获取新浪微博最近发布内容的时候调用 public_timeline()函数的返回值是个jsonDict对象,首先需要将该对象通过json.dumps函数转换成字符串,然后对该字符串用GBK进行编码和解码,注意编码的时候函数encode的第二个参数要使用ignore(默认是strict),以防止当解码错误的时候报错而使程序意外退出 . import webbrowser import sinaweibopy3 from time import sleep import json de

web 用户存储用户信息cookie, cookie的设置,cookie的获取,cookie的移除

设置cookie 值  该函数设置了 cookie 名.cookie 值.cookie过期时间. function setCookie(name,value,day) { var oDate = new Date(); var d = oDate.setDate(oDate.getDate()+day);//设置从当前时间几天后过期 var expires = 'expires='+ oDate; document.cookie = name+"="+value+";&quo

获取新浪微博的Access_token

最近想爬取新浪微博的评论,百度了一下,有个新浪开放平台提供了这个API 于是按照它的说明,去获取Access_token: 1.点击微链接 2.立即创建微链接 3.选择网页应用 4.填写信息后提交 5.应用创建完后可以在"我的应用"中查看信息 6.在"应用信息"--"高级信息"中可以设置网站的授权回调页和取消授权回调页,记住自己的授权回调页 7.进入 https://api.weibo.com/oauth2/authorize?client_id

java HttpClient 获取页面Cookie信息

HttpClient client = new HttpClient(); GetMethod get=new GetMethod("http://www.baidu.com"); try { client.executeMethod(get); } catch (HttpException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Aut