【发布时间】:2020-01-19 20:49:03
【问题描述】:
我想抓取一个网站以获取其“原始”JavaScript 代码。例如,如果我要抓取 this 网站。我会得到一个字符串,其中包含:
这只是给定链接中现有 JS 的一小部分,但我想在一个字符串或字符串数组中获取整个 JS。
我尝试了不同的方法来获取这些数据:使用requests 和selenium。
简单地加载网站的 HTML 似乎不起作用,因为脚本标签似乎没有加载。
使用selenium,我希望这会起作用:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
url = "https://www.udemy.com"
driver = webdriver.Chrome()
driver.get(url)
wait = ui.WebDriverWait(driver, 10)
results = wait.until(EC.visibility_of_all_elements_located((By.TAG_NAME, "script")))
print(results)
然后使用results我可以得到一个字符串,但它不起作用。
另一个我想获得的 JS 脚本块的例子:
红色矩形表示 JS 脚本,如您所见,其中有很多,我想以“原始”形式获取它(而不是执行它)。
我的问题是:如何获得字符串格式的“原始”JS 脚本?以及执行此操作的最有效方式(时间方面)是什么?
【问题讨论】:
标签: javascript python-3.x selenium python-requests