python实现有线电视宽带登录

http://blog.csdn.net/kingsonchen/article/details/8499795

使用有线电视宽带时,会分配到帐号和密码,每次上网时,会自动跳转到登录网页,手动输入了用户和密码登录后才可以上网。每天都得重复相同的动作,不免让人厌烦,于是用python写了个登录脚本,每次上网,只需要双击运行下即可,好不方便。

代码如下:

#!/usr/bin/python
# -*- coding: utf-8 -*-

'''
Created on 2012-05-10
Last updated on 2012-05-10
Version: V1.0
@author: Kingson
Email:kingson_chen@hotmail.com
Copyright.All Rights Reserve

python运行版本:V2.7.2

本程序是用于登录电视宽带使用。
'''

import time      #引入时间模块,用于处理进程睡眠
import datetime  #引入日期时间模块
import httplib   #引入httplib
import urllib    #引入urllib
import urllib2   #引入urllib2模块,用于处理http请求,urllib2是httplib的增强版
import cookielib #引入处理httpcookie的模块
import sys,os    #引入操作系统模块
import re        #引入正则表达式模块
import random    #引入随机数模块
import codecs    #引入编解码模块

_username="c123456"
_password="abc123test"
_submitValue="登录 Login"
_loginURL="http://10.160.255.101/"

print  "--------------------------------------------------------------------------"
print u"----------------------------  开始有线通宽带登录  ------------------------"
print  "--------------------------------------------------------------------------"

#写日志
def writelog(log_text):
    try:
     str_date=datetime.datetime.now().strftime('%Y-%m-%d') #当前时间格式化日期字符串,只输出年月日,strftime('%Y%m%d%H%M%S')可以输出时间
     file_handle = codecs.open('log-'+str_date+'.txt', 'a','utf-8')   #以追加尾部模式打开日志文件,codecs.open()可以设置文件的编码
     file_handle.write(log_text+"\r\n")   #写入内容,\r\n中windows下的回车符
     file_handle.close()   #关闭文件句柄
    except Exception,ex:
  print Exception,":",ex
  writelog("Exception:"+str(ex)+"\r\n")
  
if __name__ == '__main__': 
 try:
  cookie_support= urllib2.HTTPCookieProcessor(cookielib.CookieJar())
  opener = urllib2.build_opener(cookie_support, urllib2.HTTPHandler)
  urllib2.install_opener(opener)
  content = urllib2.urlopen(_loginURL).read()
  print u"----------------------------  打开登录界面 start  ------------------------------"
  print content  
  print u"----------------------------  打开登录界面 end    ------------------------------\r\n"
  
  postdata=urllib.urlencode({
   'DDDDD':_username,
   'upass':_password,
   '0MKKey':_submitValue})
  
  headers = {"Accept":"text/html, application/xhtml+xml, */*","Referer":"http://10.160.255.101/","Accept-Language": "zh-cn","Content-Type": "application/x-www-form-urlencoded","Accept-Encoding":"gzip, deflate","User-Agent": "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)", "Host": "10.160.255.101", "Connection": "Keep-Alive", "Cache-Control": "no-cache" }
  print u"----------------------------  提交登录信息 start  ------------------------------"
  print u"提交地址:"+_loginURL
  print u"提交数据:"+postdata
  req = urllib2.Request(url=_loginURL,data=postdata,headers=headers)
  print u"----------------------------  提交登录信息 end  ------------------------------\r\n"
  result = urllib2.urlopen(req).read()
  print u"----------------------------  结果值如下:  ----------------------------------\r\n"
  print result

 except Exception,ex:
  print Exception,":",ex   #打印出异常消息
  writelog("Exception:"+str(ex)+"\r\n")

print  "--------------------------------------------------------------------------"
print u"----------------------------  结束有线通宽带登录  ------------------------"
print  "--------------------------------------------------------------------------"
time.sleep(86400)  #进程睡眠24小时,没有这句爬取完就会自动关闭窗口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值