摘要:之前說(shuō)要每周寫(xiě)的。。問(wèn)題描述在每天比如點(diǎn)到點(diǎn)之間定時(shí)自動(dòng)登陸網(wǎng)站,簽到實(shí)現(xiàn)思路使用抓包工具先登陸一遍,把請(qǐng)求的地址,等信息都拿到??梢陨梢粋€(gè)按鍵小精靈的,用計(jì)劃任務(wù)定時(shí)執(zhí)行。主要目的是找到每個(gè)發(fā)送請(qǐng)求的和信息。
之前說(shuō)要每周寫(xiě)的。。然后最近忙著畢業(yè)就一直沒(méi)動(dòng)。>.<感覺(jué)月更都困難了。
問(wèn)題描述在每天比如10點(diǎn)到11點(diǎn)之間定時(shí)自動(dòng)登陸網(wǎng)站,簽到
實(shí)現(xiàn)思路使用fiddler抓包工具先登陸一遍,把請(qǐng)求的地址,header等信息都拿到。
使用python寫(xiě)一個(gè)腳本,模擬瀏覽器向服務(wù)器發(fā)送登陸,簽到請(qǐng)求
使用批處理bat來(lái)寫(xiě)幾句話,隨機(jī)在一小時(shí)內(nèi)運(yùn)行python腳本
使用Windows自帶的計(jì)劃任務(wù),定時(shí)每日10點(diǎn)運(yùn)行bat腳本
另外,之前不想那么麻煩寫(xiě)代碼,還去找了一個(gè)叫做按鍵精靈的軟件來(lái)模擬執(zhí)行。不過(guò)那個(gè)軟件是模擬鼠標(biāo)和鍵盤(pán),所以執(zhí)行的時(shí)候會(huì)有界面出現(xiàn),而且你的鼠標(biāo)和鍵盤(pán)不能動(dòng),所以后來(lái)放棄了。如果覺(jué)得這個(gè)麻煩也可以試試那個(gè)??梢陨梢粋€(gè)按鍵小精靈的exe,用計(jì)劃任務(wù)定時(shí)執(zhí)行。這個(gè)軟件也很邪教啊,還可以自動(dòng)截圖。
實(shí)現(xiàn)過(guò)程 一、fiddler抓包這個(gè)直接下載然后上手做就可以了,打開(kāi)工具,然后進(jìn)行正常的登陸,每一個(gè)請(qǐng)求的過(guò)程都有。主要目的是找到每個(gè)發(fā)送請(qǐng)求的url和header信息。
比如我練習(xí)網(wǎng)站的登陸請(qǐng)求發(fā)送的url是http://XXX.com/Home/Login/log...。
這個(gè)具體的url也可以用谷歌瀏覽器chrome進(jìn)入審查元素去選取按鈕,簡(jiǎn)陋一些的網(wǎng)站可以看到j(luò)s代碼是怎么跳轉(zhuǎn)過(guò)去的。如果遇到一些按鈕點(diǎn)擊一次以后無(wú)法再點(diǎn),可以用這個(gè)辦法找它的url。
二、python寫(xiě)請(qǐng)求腳本這里用這里用python3寫(xiě)的,這部分總結(jié)晚點(diǎn)寫(xiě):P
import urllib.request import urllib import gzip import http.cookiejar import time # generate request header, deal with cookie def getOpener(head): # deal with the Cookies cj = http.cookiejar.CookieJar() pro = urllib.request.HTTPCookieProcessor(cj) opener = urllib.request.build_opener(pro) header = [] for key, value in head.items(): elem = (key, value) header.append(elem) opener.addheaders = header return opener #encapsulate the header as the browser header = { "Connection": "Keep-Alive", "Accept-Language": "zh-CN", "Accept": "image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*", "User-Agent": "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)", "Accept-Encoding": "gzip, deflate", "X-Requested-With": "XMLHttpRequest", "Host": "http://XXX.com/", } url = "http://XXX.com/Home/Login/login_submit" opener = getOpener(header) id = "xxxx"#你的用戶名 password = "fddafda"#你的密碼,抓包是什么就輸什么,有時(shí)候是md5加密的 postDict = { "logname": id, "passwd": password, } #這里的post數(shù)據(jù)的json可以檢查fiddler的webform里會(huì)有。 postData = urllib.parse.urlencode(postDict).encode() op = opener.open(url, postData) data = op.read() print(data) #簽到 url = "http://XXX.com/index/index/sign/P/in" op = opener.open(url) data = op.read() print(data)三、bat調(diào)用python腳本
@echo off rem 這里就是先用cd命令轉(zhuǎn)到.py文件所在的地址 C: cd C:Windows rem 用random生成一個(gè)數(shù)字對(duì)3600秒取余得到一個(gè)一小時(shí)內(nèi)的隨機(jī)秒數(shù)存在rd中 set /a rd=%random%%%3600 rem ping用于等待若干秒 ping -n %rd% 127.0.0.1 > nul python test.py rem 生成日志 set today=%date:~0,4%-%date:~5,2%-%date:~8,2% echo login at %today%_%time:~0,2%:%time:~3,2% >> E:LogFilelog%today%.txt exit
rem是注釋可以刪,python里面還有一個(gè)pythonw.exe調(diào)用這個(gè)可以完全不出現(xiàn)界面。如果命令行cmd里面沒(méi)有python,去環(huán)境變量path里面加一下python所在的地址。
總結(jié)實(shí)現(xiàn)這個(gè)小任務(wù),讓我發(fā)現(xiàn)python的功能確實(shí)很大,而且可以用的庫(kù)也非常多。這里主要是在廖雪峰的python教程中查看的python基本的東西。然后搜了一個(gè)例子。模仿著做的。
另外,對(duì)前端的啟發(fā)也蠻大的。防止這些爬蟲(chóng)去解析前端的信息,主要可以有以下措施:
對(duì)所有發(fā)布的網(wǎng)站中JS進(jìn)行壓縮混淆加密
一些關(guān)鍵數(shù)據(jù)可以用圖片展示,增加一點(diǎn)爬取難度
登陸設(shè)置驗(yàn)證碼和動(dòng)態(tài)token
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/44434.html
摘要:一介紹是一個(gè)用實(shí)現(xiàn)的基于騰訊協(xié)議的簡(jiǎn)單機(jī)器人,可運(yùn)行在和平臺(tái)下,所有代碼集成在一個(gè)文件中。三使用方法啟動(dòng)在命令行輸入,或直接運(yùn)行。操作機(jī)器人啟動(dòng)后,用另外一個(gè)向本發(fā)送消息即可操作。 一、介紹 QQBot 是一個(gè)用 python 實(shí)現(xiàn)的、基于騰訊 SmartQQ 協(xié)議的簡(jiǎn)單 QQ 機(jī)器人,可運(yùn)行在 Linux 和 Windows 平臺(tái)下,所有代碼集成在一個(gè)?qqbot.py 文件中。 Q...
摘要:,大家好,很榮幸有這個(gè)機(jī)會(huì)可以通過(guò)寫(xiě)博文的方式,把這些年在后端開(kāi)發(fā)過(guò)程中總結(jié)沉淀下來(lái)的經(jīng)驗(yàn)和設(shè)計(jì)思路分享出來(lái)模塊化設(shè)計(jì)根據(jù)業(yè)務(wù)場(chǎng)景,將業(yè)務(wù)抽離成獨(dú)立模塊,對(duì)外通過(guò)接口提供服務(wù),減少系統(tǒng)復(fù)雜度和耦合度,實(shí)現(xiàn)可復(fù)用,易維護(hù),易拓展項(xiàng)目中實(shí)踐例子 Hi,大家好,很榮幸有這個(gè)機(jī)會(huì)可以通過(guò)寫(xiě)博文的方式,把這些年在后端開(kāi)發(fā)過(guò)程中總結(jié)沉淀下來(lái)的經(jīng)驗(yàn)和設(shè)計(jì)思路分享出來(lái) 模塊化設(shè)計(jì) 根據(jù)業(yè)務(wù)場(chǎng)景,將業(yè)務(wù)...
摘要:今天分享三個(gè)讀者推薦的項(xiàng)目。污點(diǎn)行為包括但不限于毀意向書(shū)毀兩方協(xié)定毀三方協(xié)定試用期裁員大量裁應(yīng)屆生。地址歡迎關(guān)注公眾號(hào)逛逛,每天推薦一個(gè)好玩有趣的開(kāi)源項(xiàng)目。推薦閱讀上有什么好玩的項(xiàng)目推薦個(gè)熱門(mén)電商項(xiàng)目女朋友讓我寫(xiě)萬(wàn)字檢討上個(gè)算法項(xiàng)目 十一假期一直在休息,好久沒(méi)更新文章了。今天分享三個(gè)讀...
閱讀 2057·2021-11-24 09:39
閱讀 1038·2021-11-11 16:55
閱讀 1527·2021-10-09 09:43
閱讀 1498·2021-10-08 10:17
閱讀 1726·2021-08-25 09:41
閱讀 484·2019-08-30 13:02
閱讀 687·2019-08-29 15:14
閱讀 1073·2019-08-29 13:53