web-dev-qa-db-ja.com

pythonを使用してブラウザから現在のURLを取得します

ブラウザのURLのディメンションに応じてビットマップを提供するHTTPサーバーを実行しています(つまり、localhost://image_x120_y30.bmp)。私のサーバーは無限ループで実行されており、ユーザーがBITMAPを要求するたびにURLを取得したいのですが、最後にURLから画像の寸法を抽出できます。

ここで尋ねられる質問:

python Webページ?)で現在のURLを取得する方法

私は無限ループで実行しているので私の問題に対処していません。現在のURLを取得し続けて、要求されたBITMAPをユーザーに配信できるようにしたいと考えています。

8
Chaudhry Waqas

WebナビゲーションにSeleniumを使用する場合:

from Selenium import webdriver
driver = webdriver.Firefox()
print (driver.current_url)
5
Andersson

path_info = request.META.get('PATH_INFO') http_Host = request.META.get('HTTP_Host')を実行すると、現在のURLを取得できます。これら2つを追加して完全なURLを取得できます。基本的にrequest.METAは多くの情報を含む辞書を返します。あなたはそれを試すことができます。

2
Tasneem Haider

これに似たクラスの問題を解決しました。私たちはページのウォークスルーにSplinterを使用してきました(splinterとSeleniumをダウンロードする必要があります)。ページをウォークスルーするときに、現在開いているページのURLを定期的に取得する必要があります。コマンドnew_url = browser.urlを使用してこれを行います以下は私のコードの例です。

次のコードを使用してこれを行います。

##import dependencies
from splinter import browser
import requests


## go to original page 
browser.visit(url)

## Loop through the page associated with each headline
for headline in titles:
    print(headline.text)
    browser.click_link_by_partial_text(headline.text)
## Now that I'm on the new page, I need to grab the url
    new_url = browser.url
    print(new_url)
## Go back to original page
    browser.visit(url)
0
Heather Claxton

requestsモジュールを使用できます:

import requests


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

以下は、Djangoで使用するソリューションです。

たとえば。ブラウザのURLが 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='')
0
SuperNova