2017-07-26 54 views
0

如果已經問過這個問題,表示歉意但是從我的研究來看,在這種情況下沒有關於使用請求的問題。請求Javascript修改的源代碼請求

我試圖訪問的HTML頁面是使用Javascript,許多元素是從不同的Javascript靜態文件創建/添加。 Chrome的inspect元素提供了最終的正確HTML,但requests.get只返回不受任何靜態文件影響的HTML:requests.get("https://website.com").text

有沒有什麼方法可以在執行Javascript後加載網頁HTML?我試圖避免Selenium性能較慢。

+2

您需要在某些無頭驅動程序中執行JS代碼才能獲得最終的HTML,但在請求庫本身中無法獲得此代碼 –

+1

您也可以嘗試發送假冒爲舊瀏覽器的頭文件,網站以簡化的腳本迎合他們。 – Artyer

+1

如果你想運行js,恐怕你無法避免使用'Selenium'。也許你可以使用ajax api(檢查xhr流量)或'反向'js。如果你分享的網址,我可以看看。 –

回答

0

使用請求,你只能得到URL指定的資源(在你的案例中是'text/html')。要解決所有依賴關係,請嘗試使用Jsdom包(https://www.npmjs.com/package/jsdom)。

+0

我很抱歉,但我沒有使用node.js,是否有任何已知的替代python? – ShellRox