亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python模擬表單提交登錄圖書館

 更新時間:2018年04月27日 10:35:36   作者:林先生您好  
這篇文章主要為大家詳細介紹了python模擬表單提交登錄圖書館的實現(xiàn)方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了python模擬登錄圖書館的具體代碼,供大家參考,具體內(nèi)容如下

模擬表單提交的原理:

我們都知道Http是無狀態(tài)的,所以當(dāng)我們提交的數(shù)據(jù)和瀏覽器中正常提交一樣,那么服務(wù)器就會返回和瀏覽器中一樣的響應(yīng)。所以我們這里來模擬瀏覽器表單提交登錄廣東工業(yè)大學(xué)的圖書館 http://222.200.122.171:7771/login.aspx,獲取cookie,我們接下來訪問圖書館網(wǎng)站里的其他頁面時就帶上這個cookie,服務(wù)器會認為我是已經(jīng)登錄的用戶,回正常返回數(shù)據(jù)給我。

首先我們先用瀏覽器查看頁面源代碼找到要提交的form表單:

接下來我們要獲取表單中的input 包括hidden,因為hidden也會跟著表單一起提交.找到賬號和密碼對應(yīng)的name  到時候我們需要用自己的賬號填寫的.

獲取到所有的要提交的表單內(nèi)容后,將賬號和密碼替換成自己的賬號和密碼,提交請求.獲取cookie并保存在cookie中。

代碼如下(Python2.7版本 和Python3都其實都差不多):

# -*- coding:utf-8 -*- 
import urllib 
import urllib2 
import cookielib 
import bs4 
 
result = urllib2.urlopen("http://222.200.122.171:7771/login.aspx") 
soup = bs4.BeautifulSoup(result, "html.parser") 
 
logindiv = soup.find("form", attrs={"name": "aspnetForm"}) 
Allinput = logindiv.findAll("input") 
inputData = {} 
for oneinput in Allinput: 
 if oneinput.has_attr('name'): 
  if oneinput.has_attr('value'): 
   inputData[oneinput['name']] = oneinput['value'] 
  else: 
   inputData[oneinput['name']] = "" 
inputData['ctl00$ContentPlaceHolder1$txtPas_Lib'] = '*****' 
inputData['ctl00$ContentPlaceHolder1$txtUsername_Lib'] = '*******' 
 
filename = 'cookie.txt' 
# 聲明一個MozillaCookieJar對象實例來保存cookie,之后寫入文件 
cookie = cookielib.MozillaCookieJar(filename) 
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie)) 
postdata = urllib.urlencode(inputData) 
result2 = opener.open("http://222.200.122.171:7771/login.aspx", postdata) 
cookie.save(ignore_discard=True, ignore_expires=True) 
#登錄后 要訪問的url 
bookUrl = "http://222.200.122.171:7771/user/userinfo.aspx" 
result=opener.open(bookUrl) 
print result.read() 

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python通過文件頭判斷文件類型

    python通過文件頭判斷文件類型

    這篇文章主要介紹了python通過文件頭判斷文件類型,需要的朋友可以參考下
    2015-10-10
  • pytorch GPU和CPU模型相互加載方式

    pytorch GPU和CPU模型相互加載方式

    在PyTorch中,保存和加載模型有兩種主要方式:直接保存整個模型結(jié)構(gòu)加權(quán)重,或者只保存模型的參數(shù),直接保存整個模型的方法簡單,但不夠靈活,且可能存在模型結(jié)構(gòu)不一致的風(fēng)險,推薦的做法是只保存模型參數(shù),這種方法需要在加載前定義與原模型結(jié)構(gòu)相同的模型
    2024-09-09
  • 十個驚艷的Pythonic單行代碼

    十個驚艷的Pythonic單行代碼

    自從用?Python?編寫第一行代碼以來,我就被它的簡單性、出色的可讀性和流行的單行代碼所吸引。在本文中,將為大家介紹和解釋其中的一些單行代碼,希望對大家有所幫助
    2022-12-12
  • pymysql模塊的操作實例

    pymysql模塊的操作實例

    在本篇文章里小編給大家分享的是關(guān)于pymysql模塊的簡單操作,有需要的朋友們可以參考下。
    2019-12-12
  • Python利用smtplib實現(xiàn)郵件發(fā)送

    Python利用smtplib實現(xiàn)郵件發(fā)送

    在當(dāng)今數(shù)字時代,電子郵件已成為我們生活和工作中不可或缺的一部分,本篇文章將為你講解如何在Python發(fā)送郵件,并為你提供實現(xiàn)的多種方式,希望對大家有所幫助
    2023-06-06
  • 各種Python庫安裝包下載地址與安裝過程詳細介紹(Windows版)

    各種Python庫安裝包下載地址與安裝過程詳細介紹(Windows版)

    這篇文章主要介紹了Windows版的各種Python庫安裝包下載地址與安裝過程詳細介紹,本文給大家提供了windows版的各種Python庫安裝包下載地址等相關(guān)知識,非常不錯具有參考借鑒價值,需要的朋友可以參考下
    2016-11-11
  • 一文帶你了解Python中pymysql的使用

    一文帶你了解Python中pymysql的使用

    pymysql就是聯(lián)通mysql實現(xiàn)python窗口與mysql數(shù)據(jù)庫交互的庫,十分方便操作,這篇文章將詳細說明如何掌握并使用該庫,感興趣的可以了解一下
    2023-02-02
  • python 使用cx-freeze打包程序的實現(xiàn)

    python 使用cx-freeze打包程序的實現(xiàn)

    這篇文章主要介紹了python 使用cx-freeze打包程序的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • Python aiohttp百萬并發(fā)極限測試實例分析

    Python aiohttp百萬并發(fā)極限測試實例分析

    這篇文章主要介紹了Python aiohttp百萬并發(fā)極限測試,結(jié)合實例形式分析了Python異步編程基于aiohttp客戶端高并發(fā)請求的相關(guān)操作技巧與使用注意事項,需要的朋友可以參考下
    2019-10-10
  • Python簡單網(wǎng)絡(luò)編程示例【客戶端與服務(wù)端】

    Python簡單網(wǎng)絡(luò)編程示例【客戶端與服務(wù)端】

    這篇文章主要介紹了Python簡單網(wǎng)絡(luò)編程,詳細介紹了客戶端與服務(wù)端的具體實現(xiàn)技巧與相關(guān)注意事項,需要的朋友可以參考下
    2017-05-05

最新評論