可能需要高手才能解決,關於抓取!
要抓的網站地址是 http://tracking.mscgva.ch/msctracking.php
需要在他的文字框裡輸入,點擊按鈕,抓取返回的結果。
但是我用FIDDER跟蹤,發現我輸入的文本被自動修改成一個加密的字串了。 這個怎麼回事?有高手可以破解碼?
測試用的文本 MSCUMN976149
比如你可以在上面的網址輸入這個MSCUMN976149, 返回一批結果,我要抓取這個結果。
這個應該蠻高難度的吧?有人會不?
------解決方案--------------------
...
MSCUMN976149 經過base64_encode編碼後就是 TVNDVU1OOTc2MTQ5 |CT|經過編碼後就是fENUfA==
並接成了其中一個地址
http://tracking.mscgva.ch/MSCTrackingData.php?e=TVNDVU1OOTc2MTQ5fENUfA==
其他的自己編碼拼湊,然後提交 直接取返回結果就行了.
------解決方案--------------------
這就得靠你自己去分析那些js代碼咯...不清楚的話就照著傳遞吧,先吧編碼過的解出來看看是什麼.
------解決方案--------------------
js代碼全都是真相。
------解決方案--------------------
模糊,lz懂了把思路貼出來,坐等~~
------解決方案--------------------
JScript code
/** * DataCallback */function DataCallback(){ // Get content of InputBox (entered by user) var TrackingString = dojo.byId("InputBox").value; // Get value of the drop-down box (Container, B/L or Booking Number) var SearchType = dojo.byId("SearchType").value; // Transform the content of TrackingString in uppercase TrackingString = TrackingString.toUpperCase(); var getAXSSContent = dijit.byId("SearchResults"); if (TrackingString != '') { // Clear old results ClearResults(); // Send a base64 encoded string to MscTrackingData containing: // 1. The value entered by the user // 2. The search type (Container/BL or Booking) // 3. Applic which is a global variable set in index.php var URLString = Base64.encode(TrackingString + "|" + SearchType + "|" + Applic); getAXSSContent.attr("href", "MSCTrackingData.php?e=" + URLString); getAXSSContent.attr("onDownloadEnd", function() { dojo.parser.parse(dojo.byId("SearchResults")); disableSearch(false); }); } else { viewTrackingError("Please enter a Container number, a Bill of Lading or a Booking number in the input box."); disableSearch(false); }}
------解決方案--------------------
這個不知道怎麼做呢。。