最近在做我們學(xué)校教務(wù)的爬蟲(chóng),后來(lái)遇到一個(gè)問(wèn)題,服務(wù)器的響應(yīng)顯示登陸成功了,但是操作的request卻提示沒(méi)有權(quán)限,后來(lái)發(fā)現(xiàn)不單單是爬蟲(chóng),用chrome操作也是一樣,想知道這種現(xiàn)象內(nèi)在的原因,以及如何解決
相同問(wèn)題在知乎也提問(wèn)了,那里貼了詳細(xì)的圖片:https://www.zhihu.com/questio...
把代碼也一起貼出來(lái)吧,但是教務(wù)的密碼出于一些考慮就不貼出來(lái)了,如果要跑代碼的,請(qǐng)跟我qq聯(lián)系,842391412
# -*- coding: utf-8 -*-
"""
Created on Mon Mar 5 16:51:34 2018
@author: r
"""
import requests as req
import os
import time
loginUrl=r"http://jwxt.wust.edu.cn/whkjdx/Logon.do?method=logon"
randomCodeUrl=r"http://jwxt.wust.edu.cn/whkjdx/verifycode.servlet"
data={"USERNAME":"201513158020","PASSWORD":"***","x":"0","y":"0"}
header={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; LCTE; rv:11.0) like Gecko",
"Referer":"http://jwxt.wust.edu.cn/whkjdx/Logon.do?method=logon",
"Host": "jwxt.wust.edu.cn",
"Accept": "text/html, application/xhtml+xml, image/jxr, */*",
"Accept-Language": "zh-Hans-CN,zh-Hans;q=0.5",
"Accept-Encoding": "gzip, deflate",
"Connection": "Keep-Alive"
}
#首先獲取驗(yàn)證碼
imgobj=req.get(randomCodeUrl)
#print(imgobj.cookies)
with open("img.jpg","wb") as f:
f.write(imgobj.content)
os.startfile("img.jpg")
code=input("請(qǐng)輸入驗(yàn)證碼:")
data["RANDOMCODE"]=code
#登陸請(qǐng)求
login=req.post(loginUrl,data=data,cookies=req.utils.dict_from_cookiejar(imgobj.cookies),headers=header)
time.sleep(2)
main=req.get("http://jwxt.wust.edu.cn/whkjdx/framework/main.jsp",cookies=req.utils.dict_from_cookiejar(imgobj.cookies),headers=header)
header["Referer"]="http://jwxt.wust.edu.cn/whkjdx/framework/main.jsp"
temp1=req.get("http://jwxt.wust.edu.cn/whkjdx/framework/new_window.jsp?lianjie=&winid=win1",cookies=req.utils.dict_from_cookiejar(imgobj.cookies),headers=header)
#print(login.cookies)
#print(login.text)
header["Referer"]="http://jwxt.wust.edu.cn/whkjdx/framework/new_window.jsp?lianjie=&winid=win1"
temp2=req.get("http://jwxt.wust.edu.cn/whkjdx/framework/menuleft.jsp?fater=&winid=win1",cookies=req.utils.dict_from_cookiejar(imgobj.cookies),headers=header)
temp3=req.get("http://jwxt.wust.edu.cn/whkjdx/framework/menuindex.jsp",cookies=req.utils.dict_from_cookiejar(imgobj.cookies),headers=header)
#http://jwxt.wust.edu.cn/whkjdx/jiaowu/cjgl/xszq/query_xscj.jsp?tktime=1520327730000
#http://jwxt.wust.edu.cn/whkjdx/xszqcjglAction.do?method=queryxftj
temp8=req.get("http://jwxt.wust.edu.cn/whkjdx/xszqcjglAction.do?method=queryxftj",cookies=req.utils.dict_from_cookiejar(imgobj.cookies),headers=header)
timestamp=str(int(time.time()))+"000"
temp4=req.get("http://jwxt.wust.edu.cn/whkjdx/jiaowu/cjgl/xszq/query_xscj.jsp?tktime="+timestamp,cookies=req.utils.dict_from_cookiejar(imgobj.cookies),headers=header)
gpa=req.post("http://jwxt.wust.edu.cn/whkjdx/xszqcjglAction.do?method=queryxscj",cookies=req.utils.dict_from_cookiejar(imgobj.cookies),headers=header)
試試把ie抓包成功的headers除了cookie全部寫(xiě)在header里,例子如下
import requests
headers = {'Host':'www.douban.com',
'Referer': 'https://www.douban.com/',
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language': 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',
'Accept-Encoding':'gzip, deflate, br'}
r = requests.get('https://www.douban.com/login', headers=headers)
北大青鳥(niǎo)APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專(zhuān)業(yè)的國(guó)家
北大青鳥(niǎo)中博軟件學(xué)院創(chuàng)立于2003年,作為華東區(qū)著名互聯(lián)網(wǎng)學(xué)院和江蘇省首批服務(wù)外包人才培訓(xùn)基地,中博成功培育了近30000名軟件工程師走向高薪崗位,合作企業(yè)超4
中公教育集團(tuán)創(chuàng)建于1999年,經(jīng)過(guò)二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術(shù)與教育服務(wù)機(jī)構(gòu),發(fā)展為教育服務(wù)業(yè)的綜合性企業(yè)集團(tuán),成為集合面授教學(xué)培訓(xùn)、網(wǎng)
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國(guó)一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國(guó)成功上市,融資1
曾工作于聯(lián)想擔(dān)任系統(tǒng)開(kāi)發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_(kāi)發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫(kù),具有快速界面開(kāi)發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁(yè)制作和網(wǎng)頁(yè)游戲開(kāi)發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開(kāi)發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國(guó)Software AG 技術(shù)顧問(wèn),美國(guó)Dachieve 系統(tǒng)架構(gòu)師,美國(guó)AngelEngineers Inc. 系統(tǒng)架構(gòu)師。