欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python爬蟲(chóng)_實(shí)現(xiàn)校園網(wǎng)自動(dòng)重連腳本的教程

 更新時(shí)間:2018年04月22日 10:18:50   作者:ppingfann  
下面小編就為大家分享一篇python爬蟲(chóng)_實(shí)現(xiàn)校園網(wǎng)自動(dòng)重連腳本的教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

一、背景

最近學(xué)校校園網(wǎng)不知道是什么情況,總出現(xiàn)掉線的情況。每次掉線都需要我手動(dòng)打開(kāi)web瀏覽器重新進(jìn)行賬號(hào)密碼輸入,重新進(jìn)行登錄。系統(tǒng)的問(wèn)題我沒(méi)辦法解決,但是可以寫(xiě)一個(gè)簡(jiǎn)單的python腳本用于自動(dòng)登錄校園網(wǎng)。每次掉線后,再打開(kāi)任意網(wǎng)頁(yè)就是這個(gè)頁(yè)面。

二、實(shí)現(xiàn)代碼

#-*- coding:utf-8 -*-
__author__ = 'pf'
import time
import requests
class Login:
 #初始化
 def __init__(self):
  #檢測(cè)間隔時(shí)間,單位為秒
  self.every = 10
 #模擬登錄
 def login(self):
  print self.getCurrentTime(), u"拼命連網(wǎng)中..."
  url="http://222.24.19.190:8080/portal/pws?t=li"
  #消息頭
  headers={
  'Host':"222.24.19.190:8080",
  'User-Agent':"Mozilla/5.0 (Windows NT 6.3; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0",
  'Accept':"application/json, text/javascript, */*; q=0.01",
  'Accept-Language':"zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3",
  'Accept-Encoding':"gzip, deflate",
  'Referer':"http://222.24.19.190:8080/portal/index_default.jsp",
  'Content-Type':"application/x-www-form-urlencoded",
  'X-Requested-With':"XMLHttpRequest",
  'Content-Length':"291",
  'Connection':"close"
  }
  #提交的信息
  payload={
  'userName':'1403810041',
  'userPwd':'MTk4NDEy',
  'userurl':'http%3A%2F%2Fwww.msn.com%3Focid%3Dwispr&userip=222.24.52.200',
  'portalProxyIP':'222.24.19.190',
  'portalProxyPort':'50200',
  'dcPwdNeedEncrypt':'1',
  'assignIpType':'0',
  'appRootUrl':'=http%3A%2F%2F222.24.19.190%3A8080%2Fportal%2F',
  'manualUrlEncryptKey':'rTCZGLy2wJkfobFEj0JF8A%3D%3D'
  }
  try:
   r=requests.post(url,headers=headers,data=payload)
   print self.getCurrentTime(),u'連上了...現(xiàn)在開(kāi)始看連接是否正常'
  except:
   print("error")
 #判斷當(dāng)前是否可以連網(wǎng)
 def canConnect(self):
  try:
   q=requests.get("http://www.baidu.com")
   if(q.status_code==200):
    return True
   else:
    return False
  except:
   print 'error'
 #獲取當(dāng)前時(shí)間
 def getCurrentTime(self):
  return time.strftime('[%Y-%m-%d %H:%M:%S]',time.localtime(time.time()))
 #主函數(shù)
 def main(self):
  print self.getCurrentTime(), u"Hi,歡迎使用自動(dòng)登陸系統(tǒng)"
  while True:
   self.login()
   while True:
    can_connect = self.canConnect()
    if not can_connect:
     print self.getCurrentTime(),u"斷網(wǎng)了..."
     self.login()
    else:
     print self.getCurrentTime(), u"一切正常..."
    time.sleep(self.every)
   time.sleep(self.every)
login = Login()
login.main()

三、解決步驟

首先需要一個(gè)用于抓包的工具。我們要抓取提交的數(shù)據(jù)以及提交到的url地址。我這里用的是firefox瀏覽器的httpfox插件。

用firefox瀏覽器打開(kāi)登錄頁(yè)面,并且打開(kāi)httpfox插件。在頁(yè)面中輸入賬戶(hù)名和密碼點(diǎn)擊上線后,注意一下httpfox中有一行記錄的Method是POST。我們需要記錄的就是其中的POST Data中的userName和userPwd。以及Headers中的數(shù)據(jù)。還有POST到的URL地址。

如圖:

我這里使用了python中的requests庫(kù)。

將獲取到的URL地址、userName、userPwd、Headers填入代碼中對(duì)應(yīng)的位置。

可以直接運(yùn)行python程序,如圖:

或者可以用pyinstaller庫(kù)生成exe文件再運(yùn)行,如圖:

四、總結(jié)

我這里設(shè)置了一個(gè)死循環(huán),讓程序每隔10s檢測(cè)一下是否能連上網(wǎng),若可以連上則輸出“一切正常”然后接著循環(huán),若不能連上,則輸出“斷網(wǎng)了”然后重新連網(wǎng)。我們可以對(duì)程序設(shè)置開(kāi)機(jī)自啟動(dòng)。這樣,開(kāi)機(jī)也就不需要再手動(dòng)去連網(wǎng)了。

以上這篇python爬蟲(chóng)_實(shí)現(xiàn)校園網(wǎng)自動(dòng)重連腳本的教程就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Django REST framework 異常處理

    Django REST framework 異常處理

    本文將結(jié)合實(shí)例代碼,介紹Django REST framework 異常處理,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-07-07
  • Python常用的模塊和簡(jiǎn)單用法

    Python常用的模塊和簡(jiǎn)單用法

    這篇文章主要給大家介紹Python#常用的模塊和簡(jiǎn)單用法,以random 隨機(jī)模塊展開(kāi)話題,感興趣的小伙伴可以參考一下
    2021-10-10
  • Python中模塊(Module)和包(Package)的區(qū)別詳解

    Python中模塊(Module)和包(Package)的區(qū)別詳解

    這篇文章主要介紹了Python中模塊(Module)和包(Package)的區(qū)別詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • python實(shí)現(xiàn)發(fā)送郵件功能

    python實(shí)現(xiàn)發(fā)送郵件功能

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)發(fā)送郵件功能,使用的模塊是smtplib、MIMEText,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • Python JSON編解碼方式原理詳解

    Python JSON編解碼方式原理詳解

    這篇文章主要介紹了Python JSON編解碼方式原理詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • Python基本知識(shí)點(diǎn)總結(jié)

    Python基本知識(shí)點(diǎn)總結(jié)

    這篇文章主要介紹了Python基本知識(shí)點(diǎn)總結(jié),Python基本知識(shí),Python字符串,Python函數(shù),Python模塊,Python創(chuàng)建類(lèi),Python類(lèi)的繼承,Python重載,Python單下劃線說(shuō)明,Python雙下劃線說(shuō)明,Python頭尾雙下劃線說(shuō)明,需要的朋友可以參考下
    2022-04-04
  • 利用matplotlib為圖片上添加觸發(fā)事件進(jìn)行交互

    利用matplotlib為圖片上添加觸發(fā)事件進(jìn)行交互

    這篇文章主要介紹了利用matplotlib為圖片上添加觸發(fā)事件進(jìn)行交互,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04
  • 詳解OpenCV自適應(yīng)直方圖均衡化的應(yīng)用

    詳解OpenCV自適應(yīng)直方圖均衡化的應(yīng)用

    在本文中,將介紹如何應(yīng)用對(duì)比度受限的自適應(yīng)直方圖均衡化 ( Contrast Limited Adaptive Histogram Equalization, CLAHE ) 來(lái)均衡圖像,需要的可以參考一下
    2022-02-02
  • Python中import語(yǔ)句用法案例講解

    Python中import語(yǔ)句用法案例講解

    在實(shí)際應(yīng)用中,有時(shí)程序所要實(shí)現(xiàn)功能比較復(fù)雜,代碼量也很大,若把所有的代碼都存儲(chǔ)在一個(gè)文件中,則不利于代碼的復(fù)用和維護(hù),這篇文章主要介紹了Python中import語(yǔ)句用法詳解,需要的朋友可以參考下
    2022-12-12
  • 一文帶你了解Python中的type,isinstance和issubclass

    一文帶你了解Python中的type,isinstance和issubclass

    這篇文章主要為大家詳細(xì)介紹了Python中的type、isinstance和issubclass的使用,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2023-01-01

最新評(píng)論