您好,登錄后才能下訂單哦!
怎么在python中利用Cookie 模擬用戶登錄?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
首先在火狐瀏覽器上登錄知乎,然后使用火狐瀏覽器插件 Httpfox 獲取 GET 請求的Cookie,這里注意使用狀態值為 200(獲取成功)的某次GET.
將 Cookies 復制出來,注意這一行非常長,不要人為添加換行符。而且 Cookie 中使用了雙引號,最后復制到代碼里使用單引號包起來。
使用下邊代碼檢驗是否是模擬了登錄的用戶的請求:
import requests import re headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0', 'Cookie':'q_c1=034d8149e54a425496b7dd78be571390|1496424997000|1496424997000; r_cap_id="ZDE4MTg2NGFhMjdlNDlhMTllZWFlMmJmNjkzN2MyMzI=|1496487358|d6df41ad90d6d1a94bcbd27f2962fea69d2ec1b6"; cap_id="OTc1NmViYzJlNDZjNDVlY2E1YTZiNTZjNTFkMjZkNDY=|1496487358|52ac19a9e05ee48e155d2b4d57d414792873c062"; d_c0="AEACLgSM2guPTmR8y-3r_XCeIy3RVmMIrQ0=|1496424997"; __utma=51854390.870770348.1496424950.1496483801.1496485796.4; __utmz=51854390.1496485796.4.3.utmcsr=baidu|utmccn=(organic)|utmcmd=organic; __utmv=51854390.100--|2=registration_date=20141101=1^3=entry_date=20141101=1; _zap=5b305d08-cca7-4182-b1a8-1d8190e94a3b; aliyungf_tc=AQAAAFdv8y0T4AMAj5NK3+HVvqiouPgb; acw_tc=AQAAAHPUpVJ7LQQAj5NK35xm3ILOPUBu; _xsrf=85bb3aa751345649abdd275cb42ed704; __utmc=51854390; capsion_ticket="2|1:0|10:1496486629|14:capsion_ticket|44:ODJkNDE0MDQ1MjNmNDYwZTlhZGViZWNhNWNlZDI4Y2E=|6ded3f3e82c25526f236a4bd135705bb334e25d8df96750d89afa5ae4ab49a04"; __utmb=51854390.8.10.1496485796; __utmt=1; z_c0=Mi4wQUFCQVJBVV9BQUFBUUFJdUJJemFDeGNBQUFCaEFsVk56U0phV1FCdTNCeVduZVZ3X0hweWxnWTRIeTZmMmtyUEFn|1496487376|d6107bbdbb3ccd015757953a40ee1ecedae6834c' } r = requests.get("https://www.zhihu.com/question/20273782", headers = headers) text = r.text re.compile(r"加入知乎").search(text)
如果是登錄的用戶,響應的內容中包含用戶名。沒用登錄的話,響應的內容中包含 “登錄”,“加入知乎” ,可以據此來判斷。
Cookie 每次登錄的值都不一樣,退出之后再登錄需要重新采集。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。