使用python从浏览器获取当前URL

时间:2015-05-27 10:04:37

标签: python python-2.7 browser geturl

我正在运行一个HTTP服务器,它根据浏览器URL中的维度提供位图,即localhost://image_x120_y30.bmp。我的服务器在无限循环中运行,我想在用户请求BITMAP的任何时候获取URL,最后我可以从URL中提取图像尺寸。

这里提出的问题是:

How to get current URL in python web page?

没有解决我的问题,因为我在无限循环中运行,并且我想继续获取当前URL,以便我可以将请求的BITMAP传递给用户。

5 个答案:

答案 0 :(得分:5)

如果要使用Selenium进行网络导航:

from selenium import webdriver
driver = webdriver.Firefox()
print (driver.current_url)

答案 1 :(得分:2)

您可以通过执行获取当前网址 path_info = request.META.get('PATH_INFO') http_host = request.META.get('HTTP_HOST')。 您可以添加这两个以获取完整的URL。 基本上request.META会返回一个包含大量信息的字典。你可以尝试一下。

答案 2 :(得分:1)

您可以使用requests模块:

import requests


link = "https://stackoverflow.com"
data = requests.request("GET", link)
url = data.url

答案 3 :(得分:0)

我刚刚解决了与此类似的类问题。 我们一直在使用Splinter来浏览页面(您将需要下载splinter和Selenium)。在浏览页面时,我需要定期提取当前所在页面的网址。我使用命令new_url = browser.url来做到这一点。以下是我的代码示例。

我使用以下代码执行此操作。

password<-"0)]30l^8"
.crypt = readRDS("gp.csv.encryptr.bin") # in file
zz = file("gp2.csv", "wb") # out file
openssl::decrypt_envelope(.crypt$data, .crypt$iv, .crypt$session, key = "id_rsa", password = password) %>%
  writeBin(zz)
close(zz)

答案 4 :(得分:0)

以下是我在Django中使用的解决方案。

例如。如果浏览器网址为https://www.example.com/dashboard

try:
    from urlparse import urlparse
except ImportError:
    from urllib.parse import urlparse

frontend_url = request.META.get('HTTP_REFERER')
url = urlparse(frontend_url)
print (url)
# ParseResult(scheme='https', netloc='example.com', path='/dashboard', params='', query='', fragment='')