當在網頁上單擊按鈕時,會顯示一張數據表。我想刮掉這些數據,但是我無法從網站源代碼中找到它的來源。ajaxObject上的更新功能
這是按鈕的標籤:
<button type="submit" onclick="divChangeStateOn('load-raw-0062294377Amazon.com'); getRaw('0062294377', 'Amazon.com', 'lr-0062294377Amazon.com',this);"style="margin-bottom: 4px; width: 120px; text-align: left;" name="load-raw"><img src='images/workstation.png'/> raw data</button>
我相信getRaw功能是數據來自(我不看好這個),所以我看着爲getRaw javascript代碼函數
function getRaw(asin, store, res, caller)
{ document.getElementById(res).innerHTML = '<p align="center" valign="top"><img align="center" src="phpmy_loading.gif"></p>';
var poststr = "raw=" + encodeURI(asin) +
"&site=" + encodeURI(store);
var updateResults = new ajaxObject(res, 'extra.php', caller);
updateResults.update(poststr);
}
我一直很難找到關於ajaxObject的任何文檔,並找不到有關更新函數的任何信息。什麼是ajaxObject.update在做什麼以及是否可以訪問按鈕被點擊時出現的數據?
function divChangeStateOn(divID)
{ var divElem = document.getElementById(divID);
divElem.style.display = 'block';
}
編輯:鏈接到源代碼查看源代碼:http://www.ranktracer.com/account_workstation.php它可能是密碼保護,但我只是使用演示版本
編輯2: 我基本上是想編寫一個腳本,複製Ajax http請求。這其中,我在,它不工作,我特別關注其中的數據= URI
x = time.time()
print x
timestamp = datetime.fromtimestamp(x/1000.0)
print timestamp
uri = "raw=0062294377&site=Amazon.com×tamp="+str(timestamp);
url = "lr-0062294377Amazon.com"
length = str(len(uri))
headers = {'X-Requested-With': 'XMLHttpRequest',
"Content-type": "application/x-www-form-urlencoded",
"Content-length": length,
"Connection" : "close"}
s = Session()
r = s.post(url= url, data= uri, headers= headers)
請發表整個代碼。 ajaxObject似乎是自定義代碼的一部分。 –