python登陸asp網站頁面的實現代碼_python

來源:互聯網
上載者:User

使用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網站頁面

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.