广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python脚本实现虾米网签到功能
  • 909
分享到

Python脚本实现虾米网签到功能

虾米脚本功能 2022-06-04 19:06:45 909人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

本文实例讲述了python脚本实现虾米网签到功能的方法。分享给大家供大家参考,具体如下: 概述 这个脚本完成了自动登录虾米网、签到的功能。 大致要用到urllib、urllib2、cookielib这几个模

本文实例讲述了python脚本实现虾米网签到功能的方法。分享给大家供大家参考,具体如下:

概述

这个脚本完成了自动登录虾米网、签到的功能。

大致要用到urllib、urllib2、cookielib这几个模块。其实就是用Python实现向指定的url去post数据。

至于我怎么知道在浏览器里面登录和签到时浏览器都向服务器post了什么数据的问题,可以用强大的chrome:F12->Network里面可以看得到。有的服务器登录成功后会让客户端浏览器跳转或者立即刷新一次页面等等,会把登录时向服务器post的数据刷没掉,那么就要用到强大的抓包软件——WireShark来分析。比如用chrome:

查看图片

然后就可以写了,构造Request Headers和要Post的Data(就是Chrome里的FORM Data),ID和Pwd是明文传输,呵呵。

代码

下面是代码:


# -*- coding: cp936 -*-
'''''
Created on 2012-11-15
@author: liushuai
'''
import urllib, urllib2, cookielib, sys
class LoginXiami:
  login_header = {'User-Agent':'Mozilla/5.0 (windows NT 6.1) AppleWEBKit/537.4 (Khtml, like Gecko) Chrome/22.0.1229.79 Safari/537.4'}
  signin_header = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.79 Safari/537.4', 'X-Requested-With':'XMLHttpRequest', 'Content-Length':0, 'Origin':'http://www.xiami.com', 'Referer':'http://www.xiami.com/'}
  email = ''
  passWord = ''
  cookie = None
  cookieFile = './cookie.dat'
  def __init__(self, email, pwd):
    self.email = email
    self.password = pwd
    self.cookie = cookielib.LWPCookiejar()
    opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(self.cookie))
    urllib2.install_opener(opener)
  def login(self):
    postdata = {'email':self.email, 'password':self.password, 'done':'http://www.xiami.com', 'submit':'%E7%99%BB+%E5%BD%95'}
    postdata = urllib.urlencode(postdata)
    print 'Logining...'
    req = urllib2.Request(url='http://www.xiami.com/member/login', data=postdata, headers=self.login_header)
    result = urllib2.urlopen(req).read()
    self.cookie.save(self.cookieFile)
    result = str(result).decode('utf-8').encode('gbk')
    if 'Email 或者密码错误' in result:
      print 'Login failed due to Email or Password error...'
      sys.exit()
    else :
      print 'Login successfully!'
  def signIn(self):
    postdata = {}
    postdata = urllib.urlencode(postdata)
    print 'signing...'
    req = urllib2.Request(url='http://www.xiami.com/task/signin', data=postdata, headers=self.signin_header)
    result = urllib2.urlopen(req).read()
    result = str(result).decode('utf-8').encode('gbk')
    self.cookie.save(self.cookieFile)
    try:
      result = int(result)
    except ValueError:
      print 'signing failed...'
      sys.exit()
    except:
      print 'signing failed due to unknown reasons ...'
      sys.exit()
    print 'signing successfully!'
    print self.email,'have signed', result, 'days continuously...'
if __name__ == '__main__':
  user = LoginXiami('你的登录邮箱', '你的密码')
  user.login()
  user.signIn()

然后运行一下脚本就可以登录、签到了。

查看图片

后记

有的Discuz!论坛据说是为了防止用户用网页之外的途径向服务器post数据,服务器在每个用户每次登录成功后生成一个叫formhash的值,作为表单的隐藏域返回给客户端(服务端也有保存)。

查看图片

客户端在向服务器post数据的时候,这个值会作为表单的一项数据“神不知鬼不觉”(因为是表单的隐藏域)地一同post过去,服务端收到客户端的post请求后,和服务端的formhash值作对比,就能知道是否是通过浏览器页面的方式post的数据了。

不过如果真的是为了防止这,这个做法真的有用吗?我试了一下,只需用简单的正则分析下登录成功返回的html,找到formhash值,再用上述方法和理论post过去即可,成功的完成了签到的功能。

反正不管怎么说,就是用脚本“假装”地完成了一下用浏览器登录并签到的过程。
:由于网站可能进行改版或升级,那么向服务器中post的数据可能会有变化,那么就要对代码进行相应调整,故代码仅供研究和学习参考之用。

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

--结束END--

本文标题: Python脚本实现虾米网签到功能

本文链接: https://www.lsjlt.com/news/15037.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python脚本实现虾米网签到功能
    本文实例讲述了Python脚本实现虾米网签到功能的方法。分享给大家供大家参考,具体如下: 概述 这个脚本完成了自动登录虾米网、签到的功能。 大致要用到urllib、urllib2、cookielib这几个模...
    99+
    2022-06-04
    虾米 脚本 功能
  • node脚本实现自动化签到和抽奖功能
    目录一、前言二、准备三、脚本工程搭建四、代码编写&运行五、总结以及想说的话六、相关源码和借鉴的博客一、前言   掘金自从推出签到活动后,就不断的完善这个功...
    99+
    2022-11-12
  • Python利用Selenium实现网站自动签到功能
    目录什么是Selenium前情提要准备工作代码及讲解点击登录点击跳过弹窗小结什么是Selenium 先带领大家学习下Selenium的基本概念吧。 Selenium主要用于web应...
    99+
    2022-11-12
  • 如何使用node脚本实现自动化签到和抽奖功能
    这篇文章将为大家详细讲解有关如何使用node脚本实现自动化签到和抽奖功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、前言掘金自从推出签到活动后,就不断的完善这个功能,现在矿石能抽奖还能兑换物品(简直...
    99+
    2023-06-22
  • 教你用python编写脚本实现自动签到
    目录1. 背景原因2. 签到原理3. 需要的环境selenium4. 安装模拟的插件5. 下载完成6.正题7. 完工!8. 更新1. 背景原因 最近才上班,要求每天打卡!我老是忘记,...
    99+
    2022-11-12
  • Python实现脚本锁功能(同时只能执行一个脚本)
    1. 文件锁 脚本启动前检查特定文件是否存在,不存在就启动并新建文件,脚本结束后删掉特定文件。 通过文件的判断来确定脚本是否正在执行。 方法实现也比较简单,这里以python脚本为例 #coding=u...
    99+
    2022-06-04
    脚本 功能 Python
  • 微信小程序本地存储如何实现每日签到、连续签到功能
    这篇文章给大家分享的是有关微信小程序本地存储如何实现每日签到、连续签到功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。先说说相关注意吧:其一就是 storage中只能存放字符串...
    99+
    2022-10-19
  • 利用Python实现QQ实时到账免签支付功能
    原创 转载请注明出处 核心部分:解决QQ的登录验证问题 主要利用python的selenium库和QQ的快速登录实现登录网页 再利用抓到的json来输出今日的订单情况 直接上代码 ...
    99+
    2022-11-11
  • android实现上传本地图片到网络功能
    本文实例为大家分享了android上传本地图片到网络的具体代码,供大家参考,具体内容如下首先这里用到了Okhttp 所以需要一个依赖:compile 'com.squareup.okhttp3:okhttp:3.9.0'...
    99+
    2023-05-30
    android 上传图片 roi
  • Python实现自动回复讨论功能的脚本分享
    目录好久不见实现过程一步拿捏讨论美图好久不见 写这篇文章只是想证明一下:本博主还在呼吸 许久未更,甚是想更呐~ 这段时间生活中充斥着各种事情,感觉每天都在忙忙碌碌,偶而停下疲惫的身躯...
    99+
    2022-11-11
  • arcgis使用Python脚本进行批量截图功能实现
    目录arcgis使用Python脚本进行批量截图介绍思路准备实现mxd文件准备python代码图片添加需要的水印arcgis使用Python脚本进行批量截图 介绍 最近公司数据部那边...
    99+
    2023-01-15
    Python批量截图 arcgis Python批量截图
  • 怎么利用Python实现QQ实时到账免签支付功能
    这篇文章主要介绍“怎么利用Python实现QQ实时到账免签支付功能”,在日常操作中,相信很多人在怎么利用Python实现QQ实时到账免签支付功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么利用Pytho...
    99+
    2023-06-09
  • 自动在Windows中运行Python脚本并定时触发功能实现
    目录环境介绍 运行Python脚本:.bat文件举例: 定时在Windows中触发.bat文件(英文版系统)环境介绍 系统环境:Windows 10 Python...
    99+
    2022-11-12
  • 怎么用BAT脚本实现自动上传文件到ftp服务器的功能
    这篇文章主要讲解了“怎么用BAT脚本实现自动上传文件到ftp服务器的功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用BAT脚本实现自动上传文件到ftp服务器的功能”吧!代码如下:@E...
    99+
    2023-06-08
  • Python实现TCP协议下的端口映射功能的脚本程序示例
    1 端口映射 举个例子来说明一下端口映射的作用。 有A、B、C三台计算机,A、B互通,B、C互通,但是A、C不通,这个时候在C上开了一个Web服务,如何让A访问C的Web服务? 最简单有效的办法就是在B上开...
    99+
    2022-06-04
    示例 脚本 协议
  • Shell脚本实现检测某ip网络畅通情况(含短信报警功能)
    花了1天的时间写了一个检测某ip是否网络畅通的脚本,只检测网络是否畅通的功能很容易实现,但加了一些限制功能却不好实现。 #!/bin/bash #############################...
    99+
    2022-06-04
    畅通 脚本 情况
  • 基于python脚本实现软件的注册功能(机器码+注册码机制)
    一、前言: 目的:完成已有python图像处理工具的注册功能 功能:用户运行程序后,通过文件自动检测认证状态,如果未经认证,就需要注册。注册过程是用户将程序运行后显示的机器码(C盘的卷序号)发回给管理员,管...
    99+
    2022-06-04
    机器码 注册码 脚本
  • 使用Python脚本实现批量网站存活检测遇到问题及解决方法
    做渗透测试的时候,有个比较大的项目,里面有几百个网站,这样你必须首先确定哪些网站是正常,哪些网站是不正常的。所以自己就编了一个小脚本,为以后方便使用。 具体实现的代码如下: #!/usr/bin/pyt...
    99+
    2022-06-04
    解决方法 批量 脚本
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作