python登陸asp網(wǎng)站頁面的實(shí)現(xiàn)代碼
使用python來登錄asp網(wǎng)站和登錄其他網(wǎng)站差不多,只是因?yàn)閍sp頁面在每次請(qǐng)求的時(shí)候都要帶上viewstate,因此使用python來登錄的話就多了一個(gè)步驟,獲得這個(gè)頁面的viewstate之后帶上這個(gè)和你要post或get到該頁面的請(qǐng)求數(shù)據(jù)就好了,下面這段程序是登錄一個(gè)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)站的實(shí)現(xiàn)
- 如何使用python爬蟲爬取要登陸的網(wǎng)站
- python實(shí)現(xiàn)帶驗(yàn)證碼網(wǎng)站的自動(dòng)登陸實(shí)現(xiàn)代碼
- Python3+Appium安裝及Appium模擬微信登錄方法詳解
- python+selenium實(shí)現(xiàn)12306模擬登錄的步驟
- python 模擬登錄B站的示例代碼
- Python模擬鍵盤輸入自動(dòng)登錄TGP
- python中requests模擬登錄的三種方式(攜帶cookie/session進(jìn)行請(qǐng)求網(wǎng)站)
- Python模擬登錄requests.Session應(yīng)用詳解
- Python模擬登錄之滑塊驗(yàn)證碼的破解(實(shí)例代碼)
- python模擬登陸網(wǎng)站的示例
相關(guān)文章
Python并發(fā)concurrent.futures和asyncio實(shí)例
這篇文章主要介紹了Python并發(fā)concurrent.futures和asyncio實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-05-05
django 前端頁面如何實(shí)現(xiàn)顯示前N條數(shù)據(jù)
這篇文章主要介紹了django 前端頁面如何實(shí)現(xiàn)顯示前N條數(shù)據(jù)。具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-03-03
python使用opencv進(jìn)行人臉識(shí)別
本文主要介紹了python使用opencv進(jìn)行人臉識(shí)別的相關(guān)資料。具有很好的參考價(jià)值。下面跟著小編一起來看下吧2017-04-04
python利用后綴表達(dá)式實(shí)現(xiàn)計(jì)算器功能
這篇文章主要為大家詳細(xì)介紹了python利用后綴表達(dá)式實(shí)現(xiàn)計(jì)算器功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-02-02
Python isalpha()函數(shù)的具體使用方法詳解
這篇文章主要介紹了Python isalpha()函數(shù)的具體使用方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
Python實(shí)現(xiàn)識(shí)別文字中的省市區(qū)并繪圖
在做NLP(自然語言處理)相關(guān)任務(wù)時(shí),經(jīng)常會(huì)遇到需要識(shí)別并提取省、城市、行政區(qū)的需求。今天給大家介紹一個(gè)模塊,你只需要把字符串傳遞給這個(gè)模塊,他就能給你返回這個(gè)字符串內(nèi)的省、市、區(qū)關(guān)鍵詞,快來學(xué)習(xí)一下吧2022-06-06
ERLANG和PYTHON互通實(shí)現(xiàn)過程詳解
這篇文章主要介紹了ERLANG和PYTHON互通過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07
TensorFlow進(jìn)階學(xué)習(xí)定制模型和訓(xùn)練算法
本文將為你提供關(guān)于 TensorFlow 的中級(jí)知識(shí),你將學(xué)習(xí)如何通過子類化構(gòu)建自定義的神經(jīng)網(wǎng)絡(luò)層,以及如何自定義訓(xùn)練算法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07
python selenium登錄豆瓣網(wǎng)過程解析
這篇文章主要介紹了python selenium登錄豆瓣網(wǎng)過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08

