我用python解析网站。他们使用大量重定向,并通过调用javascript函数来完成重定向。
因此,当我仅使用urllib解析网站时,它无济于事,因为我无法在返回的html代码中找到目标url。
有没有办法访问DOM并从我的python代码中调用正确的javascript函数?
我需要的只是URL,重定向将我带到了那里。
我看着硒。而且,如果您没有运行纯脚本(这意味着您没有显示并且无法启动“正常”浏览器),则解决方案实际上非常简单:
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还可以与表单交互并将击键发送到网站。
问题内容: 在页面重定向(最好使用curl或wget)之后,我需要获取最终的URL。 例如, http://google.com 可以重定向到 http://www.google.com 。 内容很容易获得(例如),但是我只对最终URL(在前一种情况下为http://www.google.com)感兴趣。 仅使用Linux内置工具有什么方法可以做到这一点?(仅命令行) 问题答案: 的选项和sub变
问题内容: 要在网站上显示某个功能,该功能会在3秒左右的时间内将您重定向到该网站,我该怎么办? 问题答案:
问题内容: 我刚刚创建了我的第一个jQuery移动网站。 我想让那些使用手机查看“完整站点”的人自动转移到“移动站点”。但是,如果愿意,也可以单击链接来查看完整站点。 我不知道从哪里开始。我可以使用一些JavaScript吗? 问题答案: if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)
问题内容: 我想做的是 找出重定向之后的最后一个/最终URL是什么 。 我不希望使用cURL。 我想坚持使用纯PHP(流包装器)。 现在,我有一个URL(比如说http://domain.test),并且我使用get_headers()从该页面获取特定的标题。get_headers也将返回多个标题(请参见下面的 Edit )。有没有办法使用这些标头来构建最终URL?还是有一个PHP函数可以自动执行
有人让我创建一个脚本,将移动用户直接重定向到插入电话号码的电话应用程序。而不是查看网页。 不知何故,我的脚本只适用于点击事件,而不适用于页面加载事件。 问候
问题内容: 我正在使用该方法打开URL并获取网页的标记。其中一些网站使用301/302重定向将我重定向。我想知道我已重定向到的最终URL。我怎么能得到这个? 问题答案: 调用返回的文件对象的方法。根据文档: —返回所获取资源的URL,通常用于确定是否遵循了重定向 例: