分享一个常用的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中实现定制类的特殊方法总结
Sep 28 Python
python获取Linux下文件版本信息、公司名和产品名的方法
Oct 05 Python
用Python从零实现贝叶斯分类器的机器学习的教程
Mar 31 Python
Python自定义函数计算给定日期是该年第几天的方法示例
May 30 Python
Python Web框架之Django框架文件上传功能详解
Aug 16 Python
Laravel框架表单验证格式化输出的方法
Sep 25 Python
利用python实现.dcm格式图像转为.jpg格式
Jan 13 Python
python框架Django实战商城项目之工程搭建过程图文详解
Mar 09 Python
jupyter 实现notebook中显示完整的行和列
Apr 09 Python
Python调用.net动态库实现过程解析
Jun 05 Python
基于python requests selenium爬取excel vba过程解析
Aug 12 Python
Python压缩模块zipfile实现原理及用法解析
Aug 14 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
音乐朗读剧《MARS RED》2021年TV动画化决定!
2020/03/06 日漫
用PHP实现将GB编码转换为UTF8
2006/11/25 PHP
PHP实现的mysql操作类【MySQL与MySQLi方式】
2017/10/07 PHP
PHP htmlspecialchars() 函数实例代码及用法大全
2018/09/18 PHP
php7 新增功能实例总结
2020/05/25 PHP
js弹出的对话窗口永远保持居中显示
2012/12/15 Javascript
JS 毫秒转时间示例代码
2013/09/22 Javascript
JavaScript中对象介绍
2014/12/31 Javascript
jQuery往textarea中光标所在位置插入文本的方法
2015/06/26 Javascript
JavaScript实现把数字转换成中文
2015/06/29 Javascript
Jquery 分页插件之Jquery Pagination
2015/08/25 Javascript
JavaScript的ExtJS框架中数面板TreePanel的使用实例解析
2016/05/21 Javascript
js拖拽功能实现代码解析
2016/11/28 Javascript
Javascript highcharts 饼图显示数量和百分比实例代码
2016/12/06 Javascript
vue-cli脚手架config目录下index.js配置文件的方法
2018/03/13 Javascript
Python正则替换字符串函数re.sub用法示例
2017/01/19 Python
解决Python2.7中IDLE启动没有反应的问题
2018/11/30 Python
对python opencv 添加文字 cv2.putText 的各参数介绍
2018/12/05 Python
情人节快乐! python绘制漂亮玫瑰
2020/08/18 Python
python使用MQTT给硬件传输图片的实现方法
2019/05/05 Python
Django REST framework 视图和路由详解
2019/07/19 Python
Windows平台Python编程必会模块之pywin32介绍
2019/10/01 Python
基于MUI框架使用HTML5实现的二维码扫描功能
2018/03/01 HTML / CSS
Lookfantastic法国官网:英国知名美妆购物网站
2017/10/28 全球购物
CK巴西官方网站:Calvin Klein巴西
2019/07/19 全球购物
办公室副主任岗位职责
2013/11/25 职场文书
2013年军训通讯稿
2014/02/05 职场文书
财务管理职业生涯规划书
2014/02/26 职场文书
村干部承诺书
2014/03/28 职场文书
励志演讲稿范文
2014/04/29 职场文书
2014年学校总务处工作总结
2014/12/08 职场文书
幼儿园小班家长评语
2014/12/30 职场文书
商务英语邮件开头问候语
2015/11/10 职场文书
创业计划书之电动车企业
2019/10/11 职场文书
详解nginx安装过程并代理下载服务器文件
2022/02/12 Servers
python三子棋游戏
2022/05/04 Python