国产探花免费观看_亚洲丰满少妇自慰呻吟_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地址。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 顺平县| 绵竹市| 兴化市| 陕西省| 巴林右旗| 上林县| 金秀| 昔阳县| 桑日县| 昌都县| 隆林| 定日县| 瑞金市| 博罗县| 梅州市| 锡林郭勒盟| 峡江县| 灵宝市| 阳原县| 德化县| 兴城市| 岳普湖县| 延寿县| 高密市| 西乌珠穆沁旗| 眉山市| 如东县| 余江县| 梨树县| 南通市| 阿尔山市| 东乌珠穆沁旗| 龙岩市| 鄂温| 威海市| 富锦市| 五指山市| 永城市| 凤翔县| 吴忠市| 蓬安县|