1. 程式人生 > >python爬蟲遇到會話儲存sessionStorage

python爬蟲遇到會話儲存sessionStorage

記錄:爬蟲生成連結過程中遇到的sessionStorage儲存資料

1.簡介

  sessionStorage 是HTML5新增的一個會話儲存物件,用於臨時儲存同一視窗(或標籤頁)的資料,在關閉視窗或標籤頁之後將會刪除這些資料。

  瞭解更多(https://www.cnblogs.com/polk6/p/5512979.html)

2.應用:藝龍國際機票訂單付款頁

  

 

 這是按照正常步驟訪問進入的藝龍國際機票訂單頁

下面是連結地址:  http://iflight.elong.com/order/gotofillorder/?p=%7B%22adult%22%3A1,%22arriveCity%22%3A%22SEL%22,%22arriveCityName%22%3A%22%E9%A6%96%E5%B0%94%22,%22backDate%22%3A%222018-11-21%22,%22child%22%3A0,%22classType%22%3A%22YSCF%22,%22classTypeName%22%3A%22%E7%BB%8F%E6%B5%8E%E8%88%B1%2F%E8%B6%85%E7%BA%A7%E7%BB%8F%E6%B5%8E%E8%88%B1%22,%22cacheKey%22%3A%22W3iRbOxobK1rgw4kbRa%22,%22departCity%22%3A%22BJS%22,%22departCityName%22%3A%22%E5%8C%97%E4%BA%AC%22,%22departDate%22%3A%222018-11-18%22,%22flyType%22%3A1,%22flyTypeName%22%3A%22%E5%BE%80%E8%BF%94%22,%22grabCode%22%3A-99,%22tid%22%3A%22ET20181118BJSSEL20181121A1C0I0YSFCRT20181115162010CP23C500II79AJ%22,%22fno%22%3A%5B%22OZ3365%22%5D,%22fdate%22%3A%222018-11-18T10%3A55%3A00%22,%22priceKey%22%3A%22133_RT_BJS_SEL_20181118_20181121_1_0%252320181118_OZ3365_V%257C20181121_OZ3355_V%25230_0%2523TCPL%22%7D&backlist=%2Fflightsearch%2Flist%2F%3FdepartCity%3DBJS%26arriveCity%3DSEL%26departDate%3D2018-11-18%26classType%3DYSCF%26searchType%3D1%26backDate%3D2018-11-21

 

大家可以點進去看一下,會發現如下圖:

 

這回怎麼不載入資料了呢,通過抓包可以瞭解到正常訪問會多出一個非同步介面請求:

 

 點選請求連結,發現是個get請求,並且引數都給出來了:

 

 

按道理講,這裡引數都給出來了,為什麼複製出來訪問就不可以了呢,猜測應該是和 session,cookie之類的有關

 

F12開啟開發者工具,

檢視cookie和session:

 

 發現,右圖比左圖多出來一個引數 extObj,後面的值一看肯定是列表搜尋頁帶過來的引數(列表接口裡面有這種類似的引數,有興趣的朋友可以去列表介面找找)

下面我們來修改一下左圖不載入資料的頁面的會話儲存:

雙擊滑鼠,左邊填入鍵 extObj,右邊給個值,把右圖的值拿過來{"cabinExt":"oGpSF77lwVTMnZFNVeAVtzcrPLUS9527mJxmySV2eOKQbvL8WwMQsykOHyW4laVY814SU2d4QPLUS9527vFO1BVIHFkZccfxFriS46S20FaZ/aJTH9ZnYAF0OkxCTuYovbb4MbQPeadUP2CNRsVitSRhQv79APBgUwHP4SpVSi6ZdgsXwTnsZJ83Lz/v1rSeIjdBNDLr/9HzO8Nz0lJ9DoBjJqFpPLUS9527APqbshgh3djxuSAx2poDVIiMiIhjJ92LwoPLUS95277Xfm8Wa3GEShNFQrC62NcObSA9OrhqP7YgcgV3zWKDVRQwAb70lQNfzdu8oPCX265vYOOWalhMJLFiTl50PwE9ERRI/imVLjkDPLUS95278AjHzpxqTQ/3ll4uieAkZgfwGhDL5NRuKiXSuyJRQvNDdb6HiX9qqBGhPYeh60q4cWToSQ4mWYSlJbEAo5xrwp6UnLLZh47hkkbpPLUS9527DVdeTZP1PzA2Jbz3npaaKOkYJrNAgtE5jIlR4FZpkkGcm74yX7Gy25KwOuzLxw9SksYOF0b111KQB51qRkiezppMo/RRFPLUS9527kXiVQUppc/X2I3cUXPySerYPIfcj72sCI2hD5vERY8PLUS952732Wk2VSbVCADpiJ0fiLrppJQrNNQJ4LZc4SGOWFJtTKc6Zugq1cySkVKFPWNwxxxa5bQGGB65m5p1n017nI9LkwjDjIMdeASr3RElcyEo9cCCsoosOxHsvDjrOPsn","goSegExt":"ecPa/lpAyxh48Zadu1hKoNmPLvJfa30AHv6T70dj374fwiy//ythPLUS9527JPLUS9527MWcWYJaqUN0TfPLUS9527GZ9EzggkFMEc4oZRfklQ2KkbYvGSobySItqPLUS9527UBtOb32k55xo5kNY74qDbbr2hKHilWPLUS9527u/9S92DFQEACXiDS9B6dn85uejePgmJW37PD02k6jhRpMsdog6dR1ReWB4DsFI75WBRo6nYXR5hzJa5UA5ilrB1ubMUuNJmuMrpxGchPJEcZYYht9Xgs9saDWcFoxYCwI8XJNMHiMp0Vfx/XIXluSjyHBNEHKscH0zIvNeujZ5elcL3W1CV4uRbsgET2VeNvcmXphVk0p6NpyB5PLUS95271CXv6Nq7gTBSFoZUSyCCwztNPUelkbAIa7ePLUS9527ruZrJoNLkRc4MU4cJgGPR4u0FyGL6nxEb9VH7eY7JaMnXKk/E7MhLoB0uZDs5M34sohu","backSegExt":"ecPa/lpAyxh48Zadu1hKoNmPLvJfa30AHv6T70dj377Aq7oxmIjaxqRlVDzMGz0udU/J4JyjN8mvYK8Ikxuq0Q4paixYRw0Jk7Gf0FPLUS9527oS/sxnZZWC4gGwmkXE8Ux/PJERQSX92uciOoRRRMhlLR67GG49AnJ8zEU1BO/AE/bamL978k8ULYrh3J4F6w9g/NlzbIMZ0HC8RpwgxLad51n7/VaqeWx/G/1lvO5J0HqmEPNv2MKTkSdeg7rODA9N63epj/sRpmUnNC8AftbYtEYSvYK4/8IEkzc/utof3Qaayc3LarkvS/0jdSCe5ASonNEVMOq0uYuEovfH5fjo/0PAN9VZjcirFgIawcgkVikqeFYpLErnkDE8gxchOiFjFRAaSRJNh5tiV2PLUS9527aCDDzd47QKgsaIeBa9ManpnPLUS952746Ar6PLUS9527qCW1ozQ8HhtIy/J7AyC4Yf"}

朝空白處點一下,會自動儲存,然後重新整理頁面,發現有資料了:

 

 爬蟲通常是get請求引數在連結裡,或者post請求提交引數,來達成某種目的(訂單生成),   

把訂單鏈接後面的引數刪除 (http://iflight.elong.com/order/gotofillorder/),只要會話儲存裡有上面的引數,一樣可以生成\

這個訂單鏈接後面帶了那麼多引數,竟然沒用,只是障眼法

 

到這裡基本就完成了,我們只需要把引數和訂單鏈接交給前端來處理.