国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python爬蟲_實現校園網自動重連腳本的教程

2020-02-22 23:48:05
字體:
來源:轉載
供稿:網友

一、背景

最近學校校園網不知道是什么情況,總出現掉線的情況。每次掉線都需要我手動打開web瀏覽器重新進行賬號密碼輸入,重新進行登錄。系統的問題我沒辦法解決,但是可以寫一個簡單的python腳本用于自動登錄校園網。每次掉線后,再打開任意網頁就是這個頁面。

二、實現代碼

#-*- coding:utf-8 -*-__author__ = 'pf'import timeimport requestsclass Login: #初始化 def __init__(self):  #檢測間隔時間,單位為秒  self.every = 10 #模擬登錄 def login(self):  print self.getCurrentTime(), u"拼命連網中..."  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'連上了...現在開始看連接是否正常'  except:   print("error") #判斷當前是否可以連網 def canConnect(self):  try:   q=requests.get("http://www.baidu.com")   if(q.status_code==200):    return True   else:    return False  except:   print 'error' #獲取當前時間 def getCurrentTime(self):  return time.strftime('[%Y-%m-%d %H:%M:%S]',time.localtime(time.time())) #主函數 def main(self):  print self.getCurrentTime(), u"Hi,歡迎使用自動登陸系統"  while True:   self.login()   while True:    can_connect = self.canConnect()    if not can_connect:     print self.getCurrentTime(),u"斷網了..."     self.login()    else:     print self.getCurrentTime(), u"一切正常..."    time.sleep(self.every)   time.sleep(self.every)login = Login()login.main()

三、解決步驟

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 伽师县| 珠海市| 庆元县| 孝昌县| 凤城市| 湖北省| 固始县| 雷山县| 嵊泗县| 简阳市| 杭锦旗| 偃师市| 达孜县| 三门峡市| 贵南县| 甘德县| 日照市| 安福县| 郯城县| 莎车县| 建湖县| 门头沟区| 麻栗坡县| 象山县| 柯坪县| 连江县| 乃东县| 芒康县| 宣汉县| 西城区| 定陶县| 五华县| 赤水市| 通城县| 固阳县| 白河县| 余干县| 江安县| 罗平县| 高要市| 周至县|