python登陆asp网站页面的实现代码
作者:mdxy-dxy 发布时间:2021-01-20 00:03:31
标签:python,asp
使用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网站页面
0
投稿
猜你喜欢
- 本文实例讲述了PHP实现的curl批量请求操作。分享给大家供大家参考,具体如下:<?php$ch = array();$res = a
- 见下:<form action="./calculation.asp"><input&nbs
- sysdate+(5/24/60/60) 在系统时间基础上延迟5秒 sysdate+5/24/60 在系统时间基础上延迟5分钟 sysdat
- 安装Python环境ANACONDA是一个Python的发行版本,包含了400多个Python最常用的库,其中就包括了数据分析中需要经常使用
- 一、把一个字符串的内容提取出来,并放到字典中流程如下: 1、得到字符串s,通过分割提取得到s1(是个列表) s=”name=lyy&
- 前一段时间导师叫我写一个批处理的小程序,就是循环修改辐射传输模型软件MODTRAN的输入参数,然后运行MODTRAN软件进行计算,输出需要的
- 第一题:ASP中,VBScript的唯一的数据类型是什么?第二题:在ASP中,VBScript有多种控制程序流程语句,如If…Then, S
- Float(浮动)概念也许是CSS中最让人迷惑的一个概念吧。Float经常被错误理解,而且因为将上下文元素全部浮动导致的可读性、
- YUI3.2.0 的 transition 模块,通过使用 transition:end 事件实现在 transition 完成后执行其他操
- 本文实例为大家分享了opencv实现图像旋转效果的具体代码,供大家参考,具体内容如下图像旋转:在opencv中首先根据旋转角度和中心获取旋转
- Python慢的重要原因:1、python是动态性语言不是静态性语言在python程序执行的时候,编译器不知道变量的类型。2、python是
- Asterisk 是一个开放源代码的软件VoIP PBX系统,我们用Asterisk 搭建企业内部电话系统。Asterisk AMI的Ast
- 什么是组播点对点连接可以处理很多通信需求,不过随着直接连接数的增加,在多对通信方之间传递相同的消息会变得越来越困难。单独地向各个接收方发送消
- 在推广Web标准的今天,那些崇尚Web标准的人经常说XHTML比HTML更加严格,当然从某种意义上说是的,比如它要求所有的标签关闭并且所有的
- 本文实例讲述了python使用opencv实现马赛克效果。分享给大家供大家参考,具体如下:最近要实现opencv视频打马赛克,在网上找了一下
- 变量名1、组成:数字、字母、下划线2、变量名要有意义3、多个单词则用下划线,如user_id4、python的变量名不要驼峰显示字符串:1、
- OL定义有序列表的时候,除非指定list-style-position:inside;,否则文字和前导符是有缩进的。但有的时候,OL定义的列
- 功能:实现网页内容的即时编辑,增加页面的可用性、交互性。方法1:直接通过textarea标签实现,请运行下边代码:<!DOCTYPE
- 常用配置以下配置能使用File -> New Projects Settings -> Settings for New Pro
- 一. 介绍一个计数器工具提供快速和方便的计数,Counter是一个dict的子类,用于计数可哈希对象。它是一个集合,元素像字典键(key)一