ブラウザのURLのディメンションに応じてビットマップを提供するHTTPサーバーを実行しています(つまり、localhost://image_x120_y30.bmp
)。私のサーバーは無限ループで実行されており、ユーザーがBITMAPを要求するたびにURLを取得したいのですが、最後にURLから画像の寸法を抽出できます。
ここで尋ねられる質問:
私は無限ループで実行しているので私の問題に対処していません。現在のURLを取得し続けて、要求されたBITMAPをユーザーに配信できるようにしたいと考えています。
WebナビゲーションにSeleniumを使用する場合:
from Selenium import webdriver
driver = webdriver.Firefox()
print (driver.current_url)
path_info = request.META.get('PATH_INFO') http_Host = request.META.get('HTTP_Host')
を実行すると、現在のURLを取得できます。これら2つを追加して完全なURLを取得できます。基本的にrequest.METAは多くの情報を含む辞書を返します。あなたはそれを試すことができます。
これに似たクラスの問題を解決しました。私たちはページのウォークスルーに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)
requests
モジュールを使用できます:
import requests
link = "https://stackoverflow.com"
data = requests.request("GET", link)
url = data.url
以下は、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='')