2011-11-03 77 views
0

所以我從網站上抓取JavaScript,它返回下面的代碼,但如果當然這不會顯示Flash視頻或呈現javscript,因爲我只是使用簡單的PHP DOM解析器來返回HTML。有沒有辦法運行這個JavaScript來返回它輸出的嵌入式對象?screen scraping javascript

<script type="text/javascript"> 
    var attributes = {}; 
    attributes.id = "flashMovie"; 
    var flashvars = {}; 
    flashvars.startjs = "playerLoaded"; 
    flashvars.activeColor = "83A7D2"; 
    flashvars.themeColor = "FFFFFF"; 
    flashvars.config = escape("http://example/0a1cee42025e9e49d25d.fid?key=c3e868caa037531d0d709e238d93013a&VID=189988&catID=1,26,43,50&rollover=1&startThumb=19&embed=&utm_source=&multiview=0&premium=1&country=&user=0&vip=0&heightHD=480p&cd=u&ref=browse"); 
    //flashvars.config = escape("http://example.com/0a1cee42025e9e49d25d.fid?key=c3e868caa037531d0d709e238d93013a&VID=189988&catID=1,26,43,50&rollover=1&startThumb=19&premium=1&country=&user=0&vip=0&cd=u&ref=browse"); 
    flashvars.config2 = escape("http://www.example.com/player_feed_local.php?vid=189988&CHIDS=1,26,43,50&link=http%253A%252F%252Fwww.example.com%252Fjump%252FTesting-Video%252Fvideo189988%253Fref%253Dbrowse"); 
    var params = {}; 
    params.startjs = "playerLoaded"; 
    params.loop = "false"; 
    params.quality = "best"; 
    params.bgcolor = "#000000"; 
    params.allowfullscreen = "true"; 
    params.allowscriptaccess = "always"; 
    params.wmode= "opaque"; 
    swfobject.embedSWF("http://www.example.com/Player_v1.11.9.7.swf?v=1.0", "flashMovie", "100%", "500", "9", "expressInstall.swf", flashvars, params, attributes); 
</script> 
+2

你的意思是,返回表示物體的圖像,就好像它是在網頁上?您無法可靠地從頁面上下文中取出某些內容。你將需要渲染整個頁面。 – Brad

+0

您使用哪種編程語言來解析HTML? –

回答

4

你可以就像一個瀏覽器(一個真正的DOM和所有的)運行JavaScript和提取數據進行使用工具,如PhantomJSCrowbar

+0

PhantomJS鏈接的巨大道具。從來沒有見過這個,現在想到一些非常酷的含義。 – MoarCodePlz

+0

很酷,生病檢查出來。 – tytyguy