Python指令碼實現蝦公尺網簽到功能

2022-09-29 12:18:14 字數 2658 閱讀 9190

概述

這個指令碼完成了自動登入蝦公尺網、簽到的功能。

大致要用到urllib、urllib2、cookielib這幾個模組。其實就是用python實現向指定的url去post資料。

至於我怎麼知道在瀏覽器裡面登入和簽到時瀏覽器都向伺服器post了什麼資料的問題,可以用強大的chrome程式設計客棧:f12->network裡面可以看得到。有的伺服器登入成功後會讓客戶端瀏覽器跳轉或者立即重新整理一次頁面等等,會把登入時向伺服器post的資料刷沒掉,那麼就要用到強大的抓包軟體——wireshark來分析。比如用chrome:

然後就可以寫了,構造request headers和要post的data(就是chrome裡的form data),id和pwd是明文傳輸,呵呵。

**下面是**:

result = urll程式設計客棧ib2.urlopen(req).read()

self.cookie.s**e(self.cookiefile)

result = st程式設計客棧r(result).decode('utf-8').encode('gbk')

if 'email 或者密碼錯誤' in result:

print 'login failed due to email or password error...'

sys.exit()

else :

print 'login successfully!'

def signin(self):

postdata = {}

postdata = urllib.urlencode(postdata)

print 'signing...'

req = urllib2.request(url='', data=postdata, headers=self.signin_header)

result = urllib2.urlopen(req).read()

result = str(result).decode('utf-8').encode('gbk')

self.cookie.s**e(self.cookiefile)

try:

result = int(result)

except valueerror:

print 'signing failed...'

sys.exit()

except:

print 'signing failed due to unknown reasons ...'

sys.exit()

print 'signing successfully!'

print self.email,'h**e signed', result, 'days continuously...'

if __name__ == '__main__'rnwevmmzgn:

userrnwevmmzgn = loginxiami('你的登入郵箱', '你的密碼')

user.login()

user.signin()

然後執行一下指令碼就可以登入、簽到了。

後記有的discuz!論壇據說是為了防止使用者用網頁之外的途徑向伺服器post資料,伺服器在每個使用者每次登入成功後生成乙個叫formhash的值,作為表單的隱藏域返回給客戶端(服務端也有儲存)。

客戶端在向伺服器post資料的時候,這個值會作為表單的一項資料「神不知鬼不覺」(因為是表單的隱藏域)地一同post過去,服務端收到客戶端的post請求後,和服務端的formhash值作對比,就能知道是否是通過瀏覽器頁面的方式post的資料了。

不過如果真的是為了防止這,這個做法真的有用嗎?我試了一下,只需用簡單的正則分析下登入成功返回的html,找到formhash值,再用上述方法和理論post過去即可,成功的完成了簽到的功能。

反正不管怎麼說,就是用指令碼「假裝」地完成了一下用瀏覽器登入並簽到的過程。

利用Python指令碼實現自動刷網課

人在學校,身不由己。總有一些奇奇怪怪的學習任務,需要我們刷夠一定的時長去完成,但這很多都是不太令人感興趣的文字或是 而這些課都有共同的特點就是會間隔一定時間發出彈窗,確認螢幕前的我們是否還kobkrkpql在瀏覽頁面。每次靠人工去點選,會嚴重影響我們做其他正事的效率。最近小李也需要刷夠一定的學習時長...

python實現街旁自動簽到

coding utf 8 import mechanize import cookielib import sys from beautifulsoup import beautifulsoup class checkin def init self,url self.br mechanize.br...

用python實現的NYOJ自動簽到程式

程式簡介 使用說明 import requests from bs4 import beautifulsoup deflogin check response 抓取獲得登入結果 soup beautifulsoup response.text,html.parser lists soup.find ...