分享一个常用的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基础教程之类class定义使用方法
Feb 20 Python
Python求两个list的差集、交集与并集的方法
Nov 01 Python
python循环监控远程端口的方法
Mar 14 Python
Python中is与==判断的区别
Mar 28 Python
Python内置模块hashlib、hmac与uuid用法分析
Feb 12 Python
如何实现Django Rest framework版本控制
Jul 25 Python
详解python常用命令行选项与环境变量
Feb 20 Python
python将unicode和str互相转化的实现
May 11 Python
python 引用传递和值传递详解(实参,形参)
Jun 05 Python
Python图像识别+KNN求解数独的实现
Nov 13 Python
python 制作网站小说下载器
Feb 20 Python
Python中使用tkFileDialog实现文件选择、保存和路径选择
May 20 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/01 无线电
如何把PHP转成EXE文件
2006/10/09 PHP
PHP HTML代码串截取代码
2008/12/29 PHP
深入PHP magic quotes的详解
2013/06/17 PHP
confirm的用法示例用于按钮操作时确定是否执行
2014/06/19 Javascript
JavaScript中的对象序列化介绍
2014/12/30 Javascript
js由下向上不断上升冒气泡效果实例
2015/05/07 Javascript
javascript实现的淘宝旅行通用日历组件用法实例
2015/08/03 Javascript
js实现动态加载脚本的方法实例汇总
2015/11/02 Javascript
javascript中call apply 与 bind方法详解
2016/03/10 Javascript
vue.js中指令Directives详解
2017/03/20 Javascript
详解给Vue2路由导航钩子和axios拦截器做个封装
2018/04/10 Javascript
js实现弹出框的拖拽效果实例代码详解
2019/04/16 Javascript
微信小程序云开发之使用云函数
2019/05/17 Javascript
JS实现利用闭包判断Dom元素和滚动条的方向示例
2019/08/26 Javascript
vue学习笔记之slot插槽基本用法实例分析
2020/02/01 Javascript
解决谷歌搜索技术文章时打不开网页问题的python脚本
2013/02/10 Python
Python 实现简单的电话本功能
2015/08/09 Python
Python的Django中将文件上传至七牛云存储的代码分享
2016/06/03 Python
利用python生成一个导出数据库的bat脚本文件的方法
2016/12/30 Python
用python制作游戏外挂
2018/01/04 Python
Python微医挂号网医生数据抓取
2019/01/24 Python
Pandas之排序函数sort_values()的实现
2019/07/09 Python
python中使用while循环的实例
2019/08/05 Python
python3 简单实现组合设计模式
2020/07/02 Python
Selenium执行完毕未关闭chromedriver/geckodriver进程的解决办法(java版+python版)
2020/12/07 Python
YesBabyOnline美国:全球性的在线婚纱礼服工厂
2018/05/05 全球购物
购买美国制造的相框和画框架:Picture Frames
2018/08/14 全球购物
美国椅子和沙发制造商:La-Z-Boy
2020/10/25 全球购物
伦敦鲜花递送:Flower Station
2021/02/03 全球购物
初中英语教学反思
2014/01/25 职场文书
公安纪律作风整顿剖析材料
2014/10/10 职场文书
2015年党日活动总结范文
2015/03/25 职场文书
2016企业先进集体事迹材料
2016/02/25 职场文书
表扬稿表扬信的格式及范文
2019/06/24 职场文书
python基础之//、/与%的区别详解
2022/06/10 Python