1
我的perl程序讀取(通過get(URL))網頁並處理數據。使用AngularJS讀取和處理HTML
這工作得很好,但最近我得到了AngularJS的網頁。
這意味着get(URL)不會傳遞完整的內容,因爲AngularJS代碼會更改瀏覽器中傳遞的html內容。
有沒有辦法獲得完整的內容。 F.i.通過發送代碼到瀏覽器模塊?
感謝, W. Curth
我的perl程序讀取(通過get(URL))網頁並處理數據。使用AngularJS讀取和處理HTML
這工作得很好,但最近我得到了AngularJS的網頁。
這意味着get(URL)不會傳遞完整的內容,因爲AngularJS代碼會更改瀏覽器中傳遞的html內容。
有沒有辦法獲得完整的內容。 F.i.通過發送代碼到瀏覽器模塊?
感謝, W. Curth
你可以使用WWW:Mechanize::Firefox得到呈現的頁面。
use WWW::Mechanize::Firefox;
my $mech = WWW::Mechanize::Firefox->new();
$mech->get($url, ':content_file' => $tempfile);
print $mech->content(format => 'html');
如果它不工作,你可以執行自定義JS代碼或處理DOM樹。
雖然理論上你可以嘗試解析index.html並下載腳本資源,然後在Phantom.js或類似的東西中運行它,但我認爲在實踐中這將是相當多的工作,並且相當困難自動化。 – ivarni
觀看JQuery Mobile頁面,因爲您將面臨類似的問題,因爲JQM會將最初的HTML頁面作爲模板進行構建。 – mccainz