1. 程式人生 > >Python 淘寶系列(三): 模擬登陸成功後獲取購物車資訊

Python 淘寶系列(三): 模擬登陸成功後獲取購物車資訊

依然採用IE的F12開發者工具分析抓取到的資料。

關鍵問題

獲取token後,重定向地址的獲取

    一般網站登入成功後,跳轉方式主要有兩種:(1)伺服器返回的響應頭中包含 location header,該header為重定向地址,獲取該header內容,訪問即可。(2)伺服器返回的響應內容中,包含使用javascript方法生成的重定向地址,使用正則表示式獲取window.location.replace("redirected URL")內容。

    然而,這兩種方式都不能獲取淘寶的重定向地址。經分析,想拿到淘寶中的個人資料要分三步:(1)淘寶登入,獲取token值。(2)根據獲取的token值,得到st值。(3)根據獲得到的st值,獲取重定向地址。

獲取個人相關資訊

    獲得重定向地址後,後面的事情就簡單多了。開啟重定向地址,從返回的html資訊中提取相應的地址資訊即可。

分析過程

    下面紅線圈出的是比較重要的資訊。需要仔細分析。第一個POST方法是提交登入引數,返回引數中包含token值,那麼下面緊跟著的GET方法作用是什麼呢?還記得上面提到說要獲取淘寶個人資料分三步吧?沒錯!下面兩個分別是獲得st值及重定向地址

    再來看看第一個GET方法的詳細資訊,可看到傳遞的引數中有token值

    其響應資訊如下,一段js指令碼

    接著,看第二個GET請求的詳細資訊,地址中包含剛剛得到的st值及其他引數值

   其響應如下,返回值包含一個url

   對比發現,與下面開啟的url一致,即為重定向地址。

完整程式碼

# -*- coding:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83

相關推薦

Python 系列() 模擬登陸成功獲取購物車資訊

依然採用IE的F12開發者工具分析抓取到的資料。 關鍵問題 獲取token後,重定向地址的獲取     一般網站登入成功後,跳轉方式主要有兩種:(1)伺服器返回的響應頭中包含 location header,該header為重定向地址,獲取該header內容,訪問即可。(2)伺服

python全棧系列之---cookie模擬登陸模擬session原理

ger -c AD log print imp 數據庫 sta 這一 cookie模擬登陸: import tornado.web class IndexHandler(tornado.web.RequestHandler): def get(self):

php抓取/天貓評論,抓取成功自動儲存為"文字格式",儲存在當前目錄下

不說其他的,上段程式碼先index.html<!DOCTYPE html><html><meta charset="utf-8"><head><title>抓取淘寶評論</title></head&

解決 {"ret":100030,"msg":"this api without user authorization"} android QQ第發登入成功獲取使用者資訊失敗的問題

在使用QQ第三發登入時,登入成功後,去獲取使用者資訊的時候,卻出現這個錯誤: {"ret":100030,"msg":"this api without user authorization"} 經過查詢資料,發現問題出在缺少許可權,還缺少一步驗證,請看程式碼。 登入授權

Python爬蟲(二十二)_selenium案例模擬登陸豆瓣

本篇部落格主要用於介紹如何使用selenium+phantomJS模擬登陸豆瓣,沒有考慮驗證碼的問題,更多內容,請參考:Python學習指南 #-*- coding:utf-8 -*- from selenium import webdriver from selenium.webdriver.

Python之Windows控制元件操作系列模擬滑鼠點選

模擬滑鼠點選指定視窗中的指定button: import win32gui,win32api win = win32gui.FindWindow(None,DialogName) while win == 0:     win = win32gui.FindWindow(None,DialogName

深入理解JAVA集合系列HashMap的死循環解讀

現在 最新 star and 場景 所有 image cap 時也 由於在公司項目中偶爾會遇到HashMap死循環造成CPU100%,重啟後問題消失,隔一段時間又會反復出現。今天在這裏來仔細剖析下多線程情況下HashMap所帶來的問題: 1、多線程put操作後,get操作導

深入理解JAVA I/O系列字符流詳解

buffer 情況 二進制文件 感到 復制代碼 使用範圍 轉換 fileread 方式 字符流為何存在 既然字節流提供了能夠處理任何類型的輸入/輸出操作的功能,那為什麽還要存在字符流呢?容我慢慢道來,字節流不能直接操作Unicode字符,因為一個字符有兩個字節,字節流一次只

JAVA通信系列Netty入門總結

hand list code end @override ada 群發消息 -s object 一、Netty學習資料 書籍《Netty In Action中文版》 對於Netty的十一個疑問http://news.cnblogs.com/n/205413/ 深入淺出Net

C# 互操作性入門系列()平臺調用中的數據封送處理

ask rsh 整數 stat charset ron pan cell 被調用 好文章搬用工模式啟動ing 。。。。。 {   文章中已經包含了原文鏈接 就不再次粘貼了   言明 改文章是一個系列,但只收錄了2篇,原因是 夠用了 } -------------------

Skype For Business 2015綜合部署系列配置Skype端SQL數據服務器

sql server 2012 部署 skype for business sfb後端數據服務器部署 sql安裝配置 windows 安裝sql 2012 本篇博文進入Skype for business 2015 綜合部署系列的第三部分:配置Skype for business 201

Exchange Server 2016安裝部署系列 邊緣傳輸角色部署及邊緣訂閱

exchange 2016邊緣傳輸服務 邊緣訂閱 邊緣傳輸服務器角色安裝 exchange 2016 安裝 邊緣訂閱文件導出導入 本篇博文進入Exchange server 2016 安裝部署系列的第三部分:Exchange server 2016的邊緣傳輸服務器安裝及邊緣訂閱功能配置,本

Python基礎筆記系列模塊

添加模塊 為我 odi 其它 clas def .py ont 需要   本系列教程供個人學習筆記使用,如果您要瀏覽可能需要其它編程語言基礎(如C語言),why?因為我寫得爛啊,只有我自己看得懂!! 模塊 #1.類比於java中的jar包,模塊能讓你能夠有邏輯地組織你的P

Python基礎筆記系列十三socket網絡編程

forever %s 如果 主機名 關閉連接 try 控制臺 utf-8 target   本系列教程供個人學習筆記使用,如果您要瀏覽可能需要其它編程語言基礎(如C語言),why?因為我寫得爛啊,只有我自己看得懂!!使用python編寫一個簡易的服務端程序和客戶端程序,啟動

[ 搭建Redis本地服務器實踐系列 ] 圖解Redis客戶端工具連接Redis服務器

done not 必須 tin 復雜 start exe eas 方便 上一章 [ 搭建Redis本地服務器實踐系列二 ] :圖解CentOS7配置Redis 介紹了Redis的初始化腳本文件及啟動配置文件,並圖解如何以服務的形式來啟動、終止Redis服務,可以說我們的R

ECharts 報表事件聯動系列柱狀圖,餅狀圖實現聯動

餅狀圖 img and int js函數 radius func get 執行 源碼如下: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type

實例模擬登陸豆瓣

保存 TP spider orm utf attr sta com parse # -*- coding: utf-8 -*-import scrapyimport urllib.request # https://accounts.douban.com/login cla

elasticsearch系列索引詳解(分詞器、文檔管理、路由詳解)

ces com dex 合並 pda ams 最新 case dbi 一、分詞器 1. 認識分詞器 1.1 Analyzer 分析器 在ES中一個Analyzer 由下面三種組件組合而成: character filter :字符過濾器,對文本進行字符過濾處理,

Silverlight & Blend動畫設計系列縮放動畫(ScaleTransform)

技術 sel transform 離開 src 比例 復制代碼 創建對象 keyframes 在Silverlight的動畫框架中,ScaleTransform類提供了在二維空間中的坐標內進行縮放操作,通過ScaleTransform可以在水平或垂直方向的縮放和拉伸對象,以

Mysql系列Centos6下安裝Mysql和Mysql主從復制的搭建

sso libc mage 進行 我們 服務器 後繼 lis list 一、Centos6下安裝Mysql 檢測下系統有沒有自帶的mysql:yum list installed | grep mysql, 如果已經有的話執行命令yum -y remove mysql-li