分享一个常用的Python模拟登陆类


Posted in Python onMarch 29, 2015

代码非常简单,而且注释也很详细,这里就不多废话了

tools.py

# -*- coding:utf8 -*-
'''
# =============================================================================
#   FileName: tools.py
#     Desc: 模拟浏览器
#    Author: cosven
#     Email: yinshaowen241@gmail.com
#   HomePage: www.cosven.com
#    Version: 0.0.1
#  LastChange: 2015-03-27 00:59:24
#    History:
# =============================================================================
'''
 
 
import urllib
import urllib2
import cookielib
 
 
class MyWeb():
  """
    模拟一个浏览器
  """
  def __init__(self):
    self.header = {
      'Host': 'music.163.com',
      'Content-Type': "application/x-www-form-urlencoded; charset=UTF-8",
      'Referer': 'http://music.163.com/song?id=26599525',
      "User-Agent": "Opera/8.0 (Macintosh; PPC Mac OS X; U; en)"
    }
    self.cookie = cookielib.LWPCookieJar()
    self.cookie_support = urllib2.HTTPCookieProcessor(self.cookie)
    self.opener = urllib2.build_opener(self.cookie_support,
                      urllib2.HTTPHandler)
    urllib2.install_opener(self.opener)
 
  def post(self, posturl, dictdata):
    """
    模拟post请求
 
    :param string posturl: url地址
    :param dict dictdata: 发送的数据
    """
 
    postdata = urllib.urlencode(dictdata)
    request = urllib2.Request(posturl, postdata, self.header)
    try:
      content = urllib2.urlopen(request)
      return content
    except Exception, e:
      print ("post:" + str(e))
      return None
 
  def get(self, url):
    """
    模拟get请求
 
    :param url: url地址
    :return content: 常使用read的方法来读取返回数据
    :rtype : instance or None
    """
    request = urllib2.Request(url, None, self.header)
    try:
      content = urllib2.urlopen(request)
      return content
    except Exception, e:
      print ("open:" + str(e))
      return None
 
 
if __name__ == "__main__":
  import hashlib
  web = MyWeb()
  url = 'http://music.163.com/api/login/'
  data = {
    'username': 'username', # email
    'password': hashlib.md5('password').hexdigest(), # password
    'rememberLogin': 'true'
  }
  res = web.post(url, data)
  print res.read()
  # url_add = 'http://music.163.com/api/playlist/manipulate/tracks'
  # data_add = {
  #   'tracks': '26599525', # music id
  #   'pid': '16199365',  # playlist id
  #   'trackIds': '["26599525"]', # music id str
  #   'op': 'add'  # opation
  # }
  # res_add = web.post(url_add, data_add)
  # print res_add.read()
 
  # 完了可以试着查看自己网易云音乐相应列表歌曲

以上就是本文给大家分享的代码了,希望大家能够喜欢,也希望能够对大家学习Python有所帮助。

Python 相关文章推荐
Python使用Pycrypto库进行RSA加密的方法详解
Jun 06 Python
使用python实现个性化词云的方法
Jun 16 Python
详解Python import方法引入模块的实例
Aug 02 Python
Python对字符串实现去重操作的方法示例
Aug 11 Python
Python+Tensorflow+CNN实现车牌识别的示例代码
Oct 11 Python
Python实现实时数据采集新型冠状病毒数据实例
Feb 04 Python
基于Python爬取爱奇艺资源过程解析
Mar 02 Python
Python3之乱码\xe6\x97\xa0\xe6\xb3\x95处理方式
May 11 Python
python使用布隆过滤器的实现示例
Aug 20 Python
Python  Asyncio模块实现的生产消费者模型的方法
Mar 01 Python
python 爬取吉首大学网站成绩单
Jun 02 Python
基于Python和openCV实现图像的全景拼接详细步骤
Oct 05 Python
python实现查询IP地址所在地
Mar 29 #Python
python实现定时播放mp3
Mar 29 #Python
Python实现设置windows桌面壁纸代码分享
Mar 28 #Python
Python中的类与对象之描述符详解
Mar 27 #Python
深入理解Javascript中的this关键字
Mar 27 #Python
Python运用于数据分析的简单教程
Mar 27 #Python
Python中下划线的使用方法
Mar 27 #Python
You might like
法兰绒滤网冲泡
2021/03/03 冲泡冲煮
php 5.3.5安装memcache注意事项小结
2011/04/12 PHP
Yii Framework框架获取分类下面的所有子类方法
2014/06/20 PHP
PHP curl 抓取AJAX异步内容示例
2014/09/09 PHP
PHP函数shuffle()取数组若干个随机元素的方法分析
2016/04/02 PHP
javascript 的Document属性和方法集合
2010/01/25 Javascript
基于jQuery的弹出警告对话框美化插件(警告,确认和提示)
2010/06/10 Javascript
jQuery 插件开发指南
2014/11/14 Javascript
jQuery实现响应鼠标滚动的动感菜单效果
2015/09/21 Javascript
使用JavaScript判断手机浏览器是横屏还是竖屏问题
2016/08/02 Javascript
Js遍历键值对形式对象或Map形式的方法
2016/08/08 Javascript
JS图片放大效果简单实现代码
2016/09/08 Javascript
微信公众号 摇一摇周边功能开发
2016/12/08 Javascript
VueJs路由跳转——vue-router的使用详解
2017/01/10 Javascript
用最少的JS代码写出贪吃蛇游戏
2018/01/12 Javascript
js使用Promise实现简单的Ajax缓存
2018/11/14 Javascript
vue 获取视频时长的实例代码
2019/08/20 Javascript
JavaScript实现点击图片换背景
2020/11/20 Javascript
echarts浮动显示单位的实现方法示例
2020/12/04 Javascript
jQuery实现简单轮播图效果
2020/12/27 jQuery
Python 由字符串函数名得到对应的函数(实例讲解)
2017/08/10 Python
Python3 文章标题关键字提取的例子
2019/08/26 Python
python GUI库图形界面开发之PyQt5树形结构控件QTreeWidget详细使用方法与实例
2020/03/02 Python
一篇文章教你用python画动态爱心表白
2020/11/22 Python
Pytorch自定义Dataset和DataLoader去除不存在和空数据的操作
2021/03/03 Python
AmazeUI 导航条的实现示例
2020/08/14 HTML / CSS
Free People中国官网:波西米亚风格女装服饰
2016/08/30 全球购物
Goodee官方商店:迷你投影仪
2021/03/15 全球购物
Conforama瑞士:家具、厨房、电器、装饰
2020/09/06 全球购物
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?用contains来区分是否有重复的对象。还是都不用
2013/07/30 面试题
计算机专业优秀大学生自我总结
2014/01/21 职场文书
参观接待方案
2014/03/17 职场文书
2014年妇女工作总结
2014/12/06 职场文书
小学生手册家长意见
2015/06/03 职场文书
出生证明范本
2015/06/15 职场文书
CSS3 制作的图片滚动效果
2021/04/14 HTML / CSS