一尘不染

获取网站上JavaScript重定向的最终目标

python

我用python解析网站。他们使用大量重定向,并通过调用javascript函数来完成重定向。

因此,当我仅使用urllib解析网站时,它无济于事,因为我无法在返回的html代码中找到目标url。

有没有办法访问DOM并从我的python代码中调用正确的javascript函数?

我需要的只是URL,重定向将我带到了那里。


阅读 175

收藏
2021-01-20

共1个答案

一尘不染

我看着硒。而且,如果您没有运行纯脚本(这意味着您没有显示并且无法启动“正常”浏览器),则解决方案实际上非常简单:

from selenium import webdriver

driver = webdriver.Firefox()
link = "http://yourlink.com"
driver.get(link)

#this waits for the new page to load
while(link == driver.current_url):
  time.sleep(1)

redirected_url = driver.current_url

对于我的用例来说,这绰绰有余。Selenium还可以与表单交互并将击键发送到网站。

2021-01-20