2012-01-20 63 views
3

我寫了一些基本的Python代碼來抓取遠程網頁並抓取一些數據。在我試圖抓取的不同頁面上,數據從視圖中隱藏起來,並且只有在更改<select>框的值後纔會顯示。使用Python在遠程網站上觸發Javascript事件

在通過遠程網站的javascript進行縮小和挖掘之後,我確認它使用的是AJAX(我認爲自定義實現原型)來切​​換<tbody><table>我對抓取感興趣。

有沒有辦法使用Python(或通過Python的Javascript)來觸發該選擇框的onChange事件,以便我可以「刷新」DOM並獲取新的HTML?

+5

爲什麼不直接做AJAX請求並解析你想要的數據呢? – kindall

+0

看看PySide的WebKit綁定 - 你可以做到這一點。 (我正在研究一個類似的項目) – synthesizerpatel

+1

@ kindall我原來找不到ajax請求url(使用chrome的內置檢查元素工具)。然後朋友建議我使用Firefox上的螢火蟲(我通常使用,但愚蠢的沒有想到嘗試)和請求的URL在控制檯彈出如預期。如果你想發表一個答案,我會接受你的。 –

回答

2

找出AJAX請求URL並直接請求它。 :-)

+0

完全同意但是... 如何? 我知道url必須從python調用來實現我需要的功能,但我不知道如何從python調用它。我試過urllib2.urlopen,但它不會完成這項工作...(網址是:http://mypc/automation/ajaxinterface.php?do = toggleStatus&status = 1&deviceid = 1) – Pitto