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 相关文章推荐
一个基于flask的web应用诞生(1)
Apr 11 Python
python 创建弹出式菜单的实现代码
Jul 11 Python
Python实现购物评论文本情感分析操作【基于中文文本挖掘库snownlp】
Aug 07 Python
Django开发的简易留言板案例详解
Dec 04 Python
详解python持久化文件读写
Apr 06 Python
Python爬虫实现“盗取”微信好友信息的方法分析
Sep 16 Python
基于numpy中的expand_dims函数用法
Dec 18 Python
浅谈python元素如何去重,去重后如何保持原来元素的顺序不变
Feb 28 Python
解决python3插入mysql时内容带有引号的问题
Mar 02 Python
浅析Django 接收所有文件,前端展示文件(包括视频,文件,图片)ajax请求
Mar 09 Python
Java Spring项目国际化(i18n)详细方法与实例
Mar 20 Python
python实现处理mysql结果输出方式
Apr 09 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&mysql(五)
2006/10/09 PHP
快速开发一个PHP扩展图文教程
2008/12/12 PHP
php目录遍历函数opendir用法实例
2014/11/20 PHP
php筛选不存在的图片资源
2015/04/28 PHP
php线性表的入栈与出栈实例分析
2015/06/12 PHP
php传值赋值和传地址赋值用法实例分析
2015/06/20 PHP
纯php生成随机密码
2015/10/30 PHP
php中实现进程锁与多进程的方法
2016/09/18 PHP
PHP使用SOAP调用API操作示例
2018/12/25 PHP
window.showModalDialog使用手册
2007/01/11 Javascript
JAVASCRIPT IE 与 FF中兼容问题小结
2009/02/18 Javascript
Jquery 动态添加按钮实现代码
2010/05/06 Javascript
自制基于jQuery的智能提示插件一枚
2011/02/18 Javascript
调试Node.JS的辅助工具(NodeWatcher)
2012/01/04 Javascript
jQuery 1.8 Release版本发布了
2012/08/14 Javascript
JS根据变量保存方法名并执行方法示例
2014/04/04 Javascript
Javascript学习笔记之 函数篇(二) : this 的工作机制
2014/06/24 Javascript
JS实现为表格动态添加标题的方法
2015/03/31 Javascript
javascript数据结构与算法之检索算法
2015/04/04 Javascript
使用JQuery实现Ctrl+Enter提交表单的方法
2015/10/22 Javascript
vue实现ajax滚动下拉加载,同时具有loading效果(推荐)
2017/01/11 Javascript
JS实现的五级联动菜单效果完整实例
2017/02/23 Javascript
Jquery让form表单异步提交代码实现
2019/11/14 jQuery
vue中的.$mount('#app')手动挂载操作
2020/09/02 Javascript
python中pygame模块用法实例
2014/10/09 Python
Python中使用OpenCV库来进行简单的气象学遥感影像计算
2016/02/19 Python
Python之Web框架Django项目搭建全过程
2017/05/02 Python
TensorFlow实现卷积神经网络CNN
2018/03/09 Python
Python是什么 Python的用处
2020/05/26 Python
python读取图像矩阵文件并转换为向量实例
2020/06/18 Python
Python延迟绑定问题原理及解决方案
2020/08/04 Python
欧洲最大的滑雪假期供应商之一:Sunweb Holidays
2018/01/06 全球购物
经济信息系毕业生自荐信范文
2014/03/15 职场文书
员工试用期考核自我鉴定
2014/04/13 职场文书
党组织领导班子整改方案
2014/10/25 职场文书
贷款工作证明模板
2015/06/12 职场文书