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字符串关键点
Dec 13 Python
Django自定义分页与bootstrap分页结合
Feb 22 Python
详解python之配置日志的几种方式
May 22 Python
Python AES加密模块用法分析
May 22 Python
python中将\\uxxxx转换为Unicode字符串的方法
Sep 06 Python
Python网络爬虫之爬取微博热搜
Apr 18 Python
Python异常处理例题整理
Jul 07 Python
详解如何在cmd命令窗口中搭建简单的python开发环境
Aug 29 Python
如何基于python操作excel并获取内容
Dec 24 Python
pycharm无法安装第三方库的问题及解决方法以scrapy为例(图解)
May 09 Python
django上传文件的三种方式
Apr 29 Python
浅谈Python类的单继承相关知识
May 12 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
PHP中将数组转成XML格式的实现代码
2011/08/08 PHP
PHP获取ip对应地区和使用网络类型的方法
2015/03/11 PHP
zen cart实现订单中增加paypal中预留电话的方法
2016/07/12 PHP
ThinkPHP 整合Bootstrap Ajax分页样式
2016/12/23 PHP
thinkphp自定义权限管理之名称判断方法
2017/04/01 PHP
服务器安全设置的几个注册表设置
2007/07/28 Javascript
百度留言本js 大家可以参考下
2009/10/13 Javascript
JS下高效拼装字符串的几种方法比较与测试代码
2010/04/15 Javascript
JavaScript 匿名函数(anonymous function)与闭包(closure)
2011/10/04 Javascript
jQuery中jqGrid分页实现代码
2011/11/04 Javascript
jquery自动切换tabs选项卡的具体实现
2013/12/24 Javascript
javascript与css3动画结合使用小结
2015/03/11 Javascript
Javascript中3个需要注意的运算符
2015/04/02 Javascript
在for循环中length值是否需要缓存
2015/07/27 Javascript
jquery获取所有选中的checkbox实现代码
2016/05/26 Javascript
layui前段框架日期控件使用方法详解
2017/05/19 Javascript
jquery实现自定义树形表格的方法【自定义树形结构table】
2019/07/12 jQuery
vue中使用带隐藏文本信息的图片、图片水印的方法
2020/04/24 Javascript
python逐行读取文件内容的三种方法
2014/01/20 Python
简单介绍Python的Django框架的dj-scaffold项目
2015/05/30 Python
Python基于回溯法子集树模板解决最佳作业调度问题示例
2017/09/08 Python
Python 通过requests实现腾讯新闻抓取爬虫的方法
2019/02/22 Python
浅析PEP572: 海象运算符
2019/10/15 Python
解决Python3下map函数的显示问题
2019/12/04 Python
kafka监控获取指定topic的消息总量示例
2019/12/23 Python
python3下pygame如何实现显示中文
2020/01/11 Python
python中sort sorted reverse reversed函数的区别说明
2020/05/11 Python
python利用platform模块获取系统信息
2020/10/09 Python
使用CSS3的rem属性制作响应式页面布局的要点解析
2016/05/24 HTML / CSS
以特惠价提供在线奢侈品购物:FRMODA.com
2018/01/25 全球购物
The North Face北面德国官网:美国著名户外品牌
2018/12/12 全球购物
生产车间主任的个人自我鉴定
2013/10/25 职场文书
大学生饮食连锁店创业计划书
2014/01/17 职场文书
2014个人反腐倡廉思想汇报
2014/09/15 职场文书
群众路线教育实践活动心得体会(教师)
2014/10/31 职场文书
合同审查法律意见书
2015/06/04 职场文书