python登陆asp网站页面的实现代码


Posted in Python onJanuary 14, 2015

使用python来登录asp网站和登录其他网站差不多,只是因为asp页面在每次请求的时候都要带上viewstate,因此使用python来登录的话就多了一个步骤,获得这个页面的viewstate之后带上这个和你要post或get到该页面的请求数据就好了,下面这段程序是登录一个asp系统,然后搜索某些数据并将这些数据保存下来.

#coding=utf-8 
import urllib2 from bs4 import BeautifulSoup import urllib import cookielib import re import httplib import time 
 
 
loginUrl="登录地址"
headers={"User-Agent":"Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36"} 
studentCookie = cookielib.CookieJar()  
pageOpener = urllib2.build_opener(urllib2.HTTPCookieProcessor(studentCookie)) 
loginPageRequest = urllib2.Request(loginUrl)  
loginPageHTML = pageOpener.open(loginPageRequest).read() """ 
s=requests.Session() 
s.headers.update(headers) 
r=s.get(loginUrl) 
""" print loginPageHTML 
soup=BeautifulSoup(loginPageHTML) 
 
__VIEWSTATE=soup.find(id="__VIEWSTATE")['value'] 
__EVENTVALIDATION=soup.find(id="__EVENTVALIDATION")['value'] 
 print __VIEWSTATE print __EVENTVALIDATION 
 
login_data={ 
   ' __EVENTTARGET':'', '__EVENTARGUMENT':'', '__LASTFOCUS':'', '__VIEWSTATE':__VIEWSTATE, '__EVENTVALIDATION':__EVENTVALIDATION, 'ClienScreentHeight':'768', 'TextBoxUserID':'username', 'TextBoxPWD':'password', 'drpLanguage':'zh-CN', 'ButtonConfirm.x':'45', 'ButtonConfirm.y':'64'
   } 
loginHeader = {  
           
          'User-Agent':'sssssssssssssssssssssss' 
          } 
loginData=urllib.urlencode(login_data) 
loginRequest = urllib2.Request(loginUrl , loginData , headers) 
loginResponse = pageOpener.open(loginRequest) 
 print loginResponse 
 
theurl='登录后搜索页面地址'
 
mainPageRequest = urllib2.Request(theurl) 
 
mainPageHTML = pageOpener.open(mainPageRequest).read()  
soup=BeautifulSoup(mainPageHTML) 
 
__VIEWSTATE=soup.find(id="__VIEWSTATE")['value'] #__EVENTVALIDATION=soup.find(id="__EVENTVALIDATION")['value'] print __VIEWSTATE #print __EVENTVALIDATION 
searchdata={ 
      '__VIEWSTATE':__VIEWSTATE, 
      '__EVENTVALIDATION':'', 
      'txtCopNO':'', 'txtCAR_NO_S':'', 'drpStatus':'', 'txtHiddenOrOnline':'none', 'txtAuto_id':'', 'drpType':'', 'drpBaseType':'', 'ddlIsStatus':0, 'txtICCard':'', 'txtBILL_NO':'', 'txtGDateTime1':'', 'txtGDateTime2':'', 'drpFromKA':'', 'drpToKA':'', 'btnSearch':'%E6%9F%A5+%E8%AF%A2%28F%29'
} 
 
data2=urllib.urlencode(searchdata) 
 
 
  
 
searchData=urllib.urlencode(searchdata) 
searcgRequest=urllib2.Request(theurl , searchData , headers) 
searchResponse=pageOpener.open(searcgRequest) 
 print loginResponse print searchResponse 
 
searchHtml=searchResponse.read() 
 
 
filename= r'C:\Users\Dell\Desktop\getlogin\file'+time.strftime('%d%H%M',time.localtime(time.time()))+'.html'
 file=open(filename,'w') file.write(searchHtml) file.close() 
 print 'end' #raw_input()

原文:python登陆asp网站页面

Python 相关文章推荐
跟老齐学Python之集合的关系
Sep 24 Python
python简单实现旋转图片的方法
May 30 Python
Python实现ssh批量登录并执行命令
Oct 25 Python
Python xlwt设置excel单元格字体及格式
Apr 18 Python
浅谈Python里面小数点精度的控制
Jul 16 Python
使用python批量读取word文档并整理关键信息到excel表格的实例
Nov 07 Python
纯python进行矩阵的相乘运算的方法示例
Jul 17 Python
django 环境变量配置过程详解
Aug 06 Python
python 实现从高分辨图像上抠取图像块
Jan 02 Python
利用Python如何制作贪吃蛇及AI版贪吃蛇详解
Aug 24 Python
Python txt文件如何转换成字典
Nov 03 Python
python基于opencv 实现图像时钟
Jan 04 Python
Python的面向对象思想分析
Jan 14 #Python
为python设置socket代理的方法
Jan 14 #Python
Python单例模式实例分析
Jan 14 #Python
python文件读写操作与linux shell变量命令交互执行的方法
Jan 14 #Python
Python中使用Tkinter模块创建GUI程序实例
Jan 14 #Python
更改Python命令行交互提示符的方法
Jan 14 #Python
Python的迭代器和生成器使用实例
Jan 14 #Python
You might like
用ODBC的分页显示
2006/10/09 PHP
详解PHP中strlen和mb_strlen函数的区别
2014/03/07 PHP
基于递归实现的php树形菜单代码
2014/11/19 PHP
php生成条形码的图片的实例详解
2017/09/13 PHP
PHP多进程简单实例小结
2019/11/09 PHP
JQuery跨Iframe选择实现代码
2010/08/19 Javascript
动态加载图片路径 保持JavaScript控件的相对独立性
2010/09/03 Javascript
解读JavaScript代码 var ie = !-[1,] 最短的IE判定代码
2011/05/28 Javascript
Javascript计算时间差的函数分享
2011/07/04 Javascript
一个页面元素appendchild追加到另一个页面元素的问题
2013/01/27 Javascript
利用javascript实现禁用网页上所有文本框,下拉菜单,多行文本域
2013/12/14 Javascript
详解JavaScript基于面向对象之创建对象(2)
2015/12/10 Javascript
js下将金额数字每三位一逗号分隔
2016/02/19 Javascript
jquery获取easyui日期控件的值实现方法
2016/11/09 Javascript
微信小程序 实现拖拽事件监听实例详解
2016/11/16 Javascript
CSS+jQuery实现简单的折叠菜单
2016/12/20 Javascript
Nodejs模块载入运行原理
2018/02/23 NodeJs
微信小程序实现slideUp、slideDown滑动效果及点击空白隐藏功能示例
2018/12/11 Javascript
JS sort方法基于数组对象属性值排序
2020/07/10 Javascript
Python入门篇之面向对象
2014/10/20 Python
Python根据已知邻接矩阵绘制无向图操作示例
2018/06/23 Python
使用Python如何测试InnoDB与MyISAM的读写性能
2018/09/18 Python
python协程之动态添加任务的方法
2019/02/19 Python
用python3 urllib破解有道翻译反爬虫机制详解
2019/08/14 Python
Django为窗体加上防机器人的验证码功能过程解析
2019/08/14 Python
Django--权限Permissions的例子
2019/08/28 Python
Python模块的定义,模块的导入,__name__用法实例分析
2020/01/07 Python
Python 使用生成器代替线程的方法
2020/08/04 Python
python 检测nginx服务邮件报警的脚本
2020/12/31 Python
军校制空专业毕业生自我鉴定
2013/11/16 职场文书
酒店管理专业自荐信
2014/05/23 职场文书
党员批评与自我批评总结
2014/10/15 职场文书
学校国庆节活动总结
2015/03/23 职场文书
python3 删除所有自定义变量的操作
2021/04/08 Python
pytorch 中autograd.grad()函数的用法说明
2021/05/12 Python
Python Pandas数据分析之iloc和loc的用法详解
2021/11/11 Python