##code

# -*- coding: utf-8 -*-

#!/usr/bin/python

'''

name: get_pay_info

function: 自动获取流量信息

lib: requests, lxml, tesseract

parameters:

BASE_URL---基本的url,在此网址获取用户名,密码和验证码图片

FORM_URL---登陆的url

PAY_INFO_URL---获取信息的url

USERNAME(username)---用户名

PASSOWORD(passoword)---密码

checkcode---验证码

'''

import re

import time

import os

import requests

from lxml import html

USERNAME = "*********"

PASSOWORD = "*******"

BASE_URL = "http://zyzfw.xidian.edu.cn:8800/"

FORM_URL = "http://zyzfw.xidian.edu.cn:8800/index.php?action=login"

PAY_INFO_URL = "http://zyzfw.xidian.edu.cn:8800/index.php"

TMP_DIR = os.path.expanduser("~/.xidian/")

IMG_PATH = os.path.join(TMP_DIR, "img.jpg")

TEXT_PATH = os.path.join(TMP_DIR, "result.txt")

'''

name: make_data_and_cookies

function: 获取登陆所需的数据和cookies

return: data,cookies

'''

def make_data_and_cookies():

"""make the post data(including vcode) and get cookies"""

vcode = ''

while len(vcode) is not 4:

r = requests.get(BASE_URL)

doc = html.document_fromstring(r.text)

vcode_link = doc.cssselect('form img')[3].get('src')

img_url = BASE_URL + vcode_link

img = requests.get(img_url)

# write to the image file

with open(IMG_PATH, 'w') as f:

f.write(img.content)

# using tesseract to get the vcode img value

try:

os.popen('tesseract %s %s' % (IMG_PATH, TEXT_PATH[:-4]))

except:

print "open tesseract error"

with open(TEXT_PATH) as f:

vcode = f.read().strip('\n')

data = {

"username": USERNAME,

"password": PASSOWORD,

"checkcode": vcode,

"ts": "login"

}

return data, r.cookies

'''

name: submit_form

parameters: data,cookies(其意义与上函数类似)

function: 模仿form进行登陆

return: None

'''

def submit_form(data, cookies):

"""submit the login form so you're logined in"""

form_action_url = FORM_URL

r = requests.post(form_action_url, data=data, cookies=cookies)

'''

name: get_info

parameters: cookies

function: 获取信息,并打印出来

return: None

'''

def get_info(cookies):

"""retrieve the data using the cookies"""

info_url = PAY_INFO_URL

r = requests.get(info_url, cookies=cookies)

doc = html.document_fromstring(r.text)

#items = re.findall('

(.*?)',r.text, re.S)

messageList = doc.cssselect('div table tbody tr td')[41].text_content()

lMsg = messageList.strip().split("\n")

for i in lMsg:

print i.strip()

if __name__ == '__main__':

if not os.path.exists(TMP_DIR):

os.mkdir(TMP_DIR)

#循环,直至成功才跳出循环

while True:

data, cookies = make_data_and_cookies()

submit_form(data, cookies)

time.sleep(1)

try:

get_info(cookies)

break

except:

time.sleep(1)

python图片自动校正流量_利用python西电流量自动查询脚本相关推荐

  1. python获取指定端口流量_利用python获取nginx服务的ip以及流量统计信息

    #!/usr/bin/python #coding=utf8 log_file = "/usr/local/nginx/logs/access.log" with open(log ...

  2. python登录交换机执行命令_利用Python脚本登录交换机实现自动配置备份的方法

    主机参考:服务器测评参考推荐网,专注分享服务器优惠信息!如果您想在本站投放您的广告,点此直达!如果您不想付费,您也可以免费投稿您的产品信息,点此直达!联系我们 部分文章发布时间较久远,可能存在未知因素 ...

  3. python乘法符号手写_利用Python自动生成小学生加减乘除口算考试题卷,不再为手写算术题烦恼!...

    还在为给孩子抄各种各样的口算题而烦恼?孩子上小学一年级之后,加减乘除的口算就要开始练习了,老师肯定会让家长出题.所以我们当家长的,要提前准备一下,就利用Python开发了一套自动生成小学生口算题的小应 ...

  4. python读取图片文字为表格_利用python将图片转换成excel文档格式

    前言 本文主要介绍了关于利用python将图片转换成excel文档的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 实现步骤 读取图像,获取图像每个像素点的RGB值: 根据 ...

  5. python实现app自动签到器_利用Python实现App自动签到领取积分

    要自动签到,最简单的是打开页面分析请求,然后我们用脚本实现请求的自动化.但是发现食行没有页面,只有 APP,这不是一个好消息,这意味着需要抓包处理了. 有需要Python学习资料的小伙伴吗?小编整理[ ...

  6. python怎么去掉视频字幕_利用Python实现字幕挂载(把字幕文件与视频合并)思路详解...

    其实超简单超简单!python好现成的库,一下子省略了好多步骤! 本文在Windows环境下!linux只是不需要手动输入imagicmagick的位置! 需要用到的环境 python(基本上只要不是 ...

  7. 利用python从网页查找数据_利用Python模拟淘宝的搜索过程并对数据进行可视化分析...

    数据挖掘入门与实战 公众号: datadw 本文讲述如何利用Python模拟淘宝的搜索过程并对搜索结果进行初步的数据可视化分析. 搜索过程的模拟:淘宝的搜索页面有两种形式, 一种形式是, 2019/2 ...

  8. python根据url下载数据_利用Python如何实现根据URL地址下载并保存文件至对应目录...

    利用Python如何实现根据URL地址下载并保存文件至对应目录 发布时间:2020-11-16 14:23:11 来源:亿速云 阅读:58 作者:Leah 这篇文章将为大家详细讲解有关利用Python ...

  9. python制作心形照片墙_利用python生成照片墙的示例代码

    PIL(Python Image Library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库了.其官方主页为:PIL. PIL历 ...

  10. python 物理学中的应用_利用python求解物理学中的双弹簧质能系统详解

    前言 本文主要给大家介绍了关于利用python求解物理学中双弹簧质能系统的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 物理的模型如下: 在这个系统里有两个物体,它们的质 ...

最新文章

  1. 全网刷爆!B站Up主何同学带火这只A股:最硬核桌子,苹果也做不到!
  2. C#方法参数传递-同时使用ref和out关键字
  3. Python学习笔记:面向对象高级编程(中下)
  4. 天池和Kaggle:Notebook使用对比
  5. 在游戏里模拟天空的颜色,太迷人了!
  6. linux运维之道基础命令,Linux运维之道(7)——Linux管理类命令
  7. [转载] Python字符串操作方法详解
  8. primefaces_Primefaces主题
  9. 中国新一代海洋综合科考船“科学”号返回母港
  10. 信用卡分期年化利率计算方法
  11. 缓存设置(失效时间)
  12. 硬核!教你三种方法,实现微信自定义修改地区!
  13. 这些雷达书籍,你需要收藏~(终极大汇总)
  14. 【编程题】【Scratch三级】2019.09 打气球游戏
  15. win10系统更新到指定版本
  16. CorelDRAW X6+PhotoZoom这组合,无敌了啊!
  17. Netty入门--传统IO与NIO详解
  18. IE11 中的兼容性更改
  19. Google Chrome关闭右上角更新提示
  20. web.xm配置详解

热门文章

  1. 康师傅红烧牛肉面:不仅给你舌尖上的美味,也给你舌尖上的安全
  2. 1550:花神游历各国
  3. 生成随机颜色和随机数的生成
  4. Input和label
  5. 小米9008授权账号_小米手表体验:中肯点评,这是一款优点和缺点同样突出的智能手表...
  6. Windows 安装Scoop 教程
  7. 派生词 计算机英语,英语词缀tele- (afar; operating over a distance) 与派生词
  8. matlab maxfunevals,matlab优化工具箱概述
  9. 深入理解机器学习——类别不平衡学习(Imbalanced Learning):影响因素
  10. 2023年广州积分入户需要多少积分