利用 Bash 腳本編寫(xiě)自動(dòng)抓取學(xué)校圖書(shū)館借閱信息的爬蟲(chóng) Part1

自從弄了個(gè) lcd4linux 之后總想著弄點(diǎn)什么自動(dòng)化的東西顯示出來(lái)伟姐,因?yàn)樽罱鼜膱D書(shū)館借了點(diǎn)書(shū)杭跪,于是首先想到的是抓圖書(shū)館的借閱信息谐区。

我實(shí)現(xiàn)的思路大概來(lái)說(shuō)就是,用腳本模仿正常登錄查詢(xún)的步驟來(lái)發(fā)出并處理請(qǐng)求:先用 Wireshark 對(duì)我請(qǐng)求的過(guò)程抓包(最方便的方式了吧)膳帕,然后獲取到整個(gè)過(guò)程中的 HTTP 請(qǐng)求,接著查看每個(gè)請(qǐng)求都用了什么方法薇缅、發(fā)了哪些字段危彩,最后分析出必要的請(qǐng)求并模仿之,逐一發(fā)送出去泳桦,然后保存獲取到的 HTML 頁(yè)面內(nèi)容并過(guò)濾出有用的內(nèi)容汤徽。

這個(gè)操作,流程雖說(shuō)簡(jiǎn)單但略微繁瑣而且有需要注意的地方蓬痒。我是用 curl 命令來(lái)模仿這些過(guò)程泻骤,當(dāng)發(fā)送 POST 請(qǐng)求的時(shí)候,發(fā)送出去的數(shù)據(jù)是經(jīng)過(guò)了 URL 編碼的梧奢,里面所有的特殊字符全部都會(huì)變成 URL 編碼格式的字符狱掂,但我忽略了這一點(diǎn),導(dǎo)致服務(wù)器不能正確響應(yīng)請(qǐng)求而只獲取到了錯(cuò)誤頁(yè)面亲轨。

除了第一次請(qǐng)求之外趋惨,其他的請(qǐng)求都要保存 cookie 來(lái)保持會(huì)話(huà)的一致性。學(xué)校的圖書(shū)館系統(tǒng)是分開(kāi)兩個(gè)并布置在在不同的端口上的惦蚊,但之間的會(huì)話(huà)一致性貌似只是通過(guò)普通的發(fā)送賬號(hào)密碼并 JS 模仿登錄框操作來(lái)實(shí)現(xiàn)(我沒(méi)詳細(xì)測(cè)試器虾,不知道兩個(gè)系統(tǒng)之間是否有 session 轉(zhuǎn)移的問(wèn)題),要注意兩個(gè)不同的服務(wù)器的端口號(hào)蹦锋。

在對(duì)第二個(gè)系統(tǒng)進(jìn)行數(shù)據(jù)的查詢(xún)的時(shí)候兆沙,發(fā)現(xiàn)了一個(gè)問(wèn)題。瀏覽器地址欄上面的地址并不是真實(shí)的頁(yè)面地址莉掂,而是通過(guò) JS 改寫(xiě)地址欄之后的地址葛圃。直接使用 curl 查詢(xún)的話(huà)會(huì)得出一個(gè) "Object has remove to here"的頁(yè)面,里面那個(gè) here 是個(gè)超鏈接,指向之處才是真正的頁(yè)面的地址库正。請(qǐng)求了真實(shí)頁(yè)面地址之后曲楚,JS 會(huì)復(fù)寫(xiě)瀏覽器的地址為原來(lái)用戶(hù)點(diǎn)擊的超鏈接的地址。不知道這用意何在褥符,但如果只是為了隱藏真實(shí)頁(yè)面地址的話(huà)我只能說(shuō)這嫩得一逼啊……

關(guān)于如何用命令提取有用信息龙誊,我在下一個(gè)部分里再講。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末喷楣,一起剝皮案震驚了整個(gè)濱河市趟大,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌抡蛙,老刑警劉巖护昧,帶你破解...
    沈念sama閱讀 219,110評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異粗截,居然都是意外死亡惋耙,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)熊昌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)绽榛,“玉大人,你說(shuō)我怎么就攤上這事婿屹∶鹈溃” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,474評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵昂利,是天一觀(guān)的道長(zhǎng)届腐。 經(jīng)常有香客問(wèn)我,道長(zhǎng)蜂奸,這世上最難降的妖魔是什么犁苏? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,881評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮扩所,結(jié)果婚禮上围详,老公的妹妹穿的比我還像新娘。我一直安慰自己祖屏,他們只是感情好助赞,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,902評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著袁勺,像睡著了一般雹食。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上期丰,一...
    開(kāi)封第一講書(shū)人閱讀 51,698評(píng)論 1 305
  • 那天群叶,我揣著相機(jī)與錄音漠嵌,去河邊找鬼。 笑死盖呼,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的化撕。 我是一名探鬼主播几晤,決...
    沈念sama閱讀 40,418評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼植阴!你這毒婦竟也來(lái)了蟹瘾?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,332評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤掠手,失蹤者是張志新(化名)和其女友劉穎憾朴,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體喷鸽,經(jīng)...
    沈念sama閱讀 45,796評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡众雷,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,968評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了做祝。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片砾省。...
    茶點(diǎn)故事閱讀 40,110評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖混槐,靈堂內(nèi)的尸體忽然破棺而出编兄,到底是詐尸還是另有隱情,我是刑警寧澤声登,帶...
    沈念sama閱讀 35,792評(píng)論 5 346
  • 正文 年R本政府宣布狠鸳,位于F島的核電站,受9級(jí)特大地震影響悯嗓,放射性物質(zhì)發(fā)生泄漏件舵。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,455評(píng)論 3 331
  • 文/蒙蒙 一绅作、第九天 我趴在偏房一處隱蔽的房頂上張望芦圾。 院中可真熱鬧,春花似錦俄认、人聲如沸个少。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,003評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)夜焦。三九已至,卻和暖如春岂贩,著一層夾襖步出監(jiān)牢的瞬間茫经,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,130評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留卸伞,地道東北人抹镊。 一個(gè)月前我還...
    沈念sama閱讀 48,348評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像荤傲,于是被迫代替她去往敵國(guó)和親垮耳。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,047評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容