python登陸asp網(wǎng)站頁面的實現(xiàn)代碼
更新時間:2015年01月14日 10:57:27 投稿:mdxy-dxy
這篇文章主要介紹了python登陸asp網(wǎng)站頁面的實現(xiàn)代碼,需要的朋友可以參考下
使用python來登錄asp網(wǎng)站和登錄其他網(wǎng)站差不多,只是因為asp頁面在每次請求的時候都要帶上viewstate,因此使用python來登錄的話就多了一個步驟,獲得這個頁面的viewstate之后帶上這個和你要post或get到該頁面的請求數(shù)據(jù)就好了,下面這段程序是登錄一個asp系統(tǒng),然后搜索某些數(shù)據(jù)并將這些數(shù)據(jù)保存下來.
#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 selenium循環(huán)登陸網(wǎng)站的實現(xiàn)
- 如何使用python爬蟲爬取要登陸的網(wǎng)站
- python實現(xiàn)帶驗證碼網(wǎng)站的自動登陸實現(xiàn)代碼
- Python3+Appium安裝及Appium模擬微信登錄方法詳解
- python+selenium實現(xiàn)12306模擬登錄的步驟
- python 模擬登錄B站的示例代碼
- Python模擬鍵盤輸入自動登錄TGP
- python中requests模擬登錄的三種方式(攜帶cookie/session進行請求網(wǎng)站)
- Python模擬登錄requests.Session應(yīng)用詳解
- Python模擬登錄之滑塊驗證碼的破解(實例代碼)
- python模擬登陸網(wǎng)站的示例
相關(guān)文章
五個簡單有效的Python清理數(shù)據(jù)腳本分享
通常情況下,在機器學(xué)習(xí)中的數(shù)據(jù)清理往往是一件令人頭疼的事情,本文整理了一份清單,列出了5個常用的Python腳本,用于自動化數(shù)據(jù)清理,需要的可以參考一下2022-09-09詳解pyqt5的UI中嵌入matplotlib圖形并實時刷新(挖坑和填坑)
這篇文章主要介紹了詳解pyqt5的UI中嵌入matplotlib圖形并實時刷新(挖坑和填坑),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08Python 棧實現(xiàn)的幾種方式及優(yōu)劣詳解
這篇文章主要為大家介紹了Python 棧實現(xiàn)的幾種方式及優(yōu)劣詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-10-10