[解決済み] Python で与えられた URL にパラメータを追加する
2022-04-27 15:36:33
質問
あるURLが渡されたとします。
すでにGETパラメータを持っているかもしれない(例えば
http://example.com/search?q=question
) またはそうでない場合 (例.
http://example.com/
).
そして、今度はこれにいくつかのパラメータを追加する必要があります。
{'lang':'en','tag':'python'}
. 最初のケースで私は
http://example.com/search?q=question&lang=en&tag=python
で、2番目の
http://example.com/search?lang=en&tag=python
.
何か標準的な方法はないのでしょうか?
どのように解決するのですか?
には、いくつかの癖があります。
urllib
と
urlparse
モジュールを使用します。以下は動作例です。
try:
import urlparse
from urllib import urlencode
except: # For Python 3
import urllib.parse as urlparse
from urllib.parse import urlencode
url = "http://stackoverflow.com/search?q=question"
params = {'lang':'en','tag':'python'}
url_parts = list(urlparse.urlparse(url))
query = dict(urlparse.parse_qsl(url_parts[4]))
query.update(params)
url_parts[4] = urlencode(query)
print(urlparse.urlunparse(url_parts))
ParseResult
の結果は
urlparse()
,
は読み取り専用
に変換する必要があります。
list
そのデータを変更する前に
関連
-
[解決済み] TypeError: 'DataFrame' オブジェクトは呼び出し可能ではない
-
[解決済み] ブラウザによって異なるURLの最大長とは?
-
[解決済み] リモート Git リポジトリの URI (URL) を変更するには?
-
[解決済み] URI、URL、URNの違いは何ですか?
-
[解決済み] JavaScriptで現在のURLを取得する?
-
[解決済み] リストを均等な大きさの塊に分割するには?
-
[解決済み] JavaScriptでURLをエンコードする?
-
[解決済み] 最近のPythonでカスタム例外を宣言する適切な方法?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】Pythonに三項条件演算子はありますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Pythonコンテナのための組み込み汎用関数操作
-
Evidentlyを用いたPythonデータマイニングによる機械学習モデルダッシュボードの作成
-
[解決済み】RuntimeWarning: 割り算で無効な値が発生しました。
-
[解決済み】pygame.error: ビデオシステムが初期化されていない
-
[解決済み】socket.error: [Errno 48] アドレスはすでに使用中です。
-
[解決済み】TypeError: 系列を <class 'float'> に変換することができません。
-
[解決済み】Flask ImportError: Flask という名前のモジュールがない
-
[解決済み】Python: SyntaxError: キーワードは式になり得ない
-
[解決済み】ImportError: bs4という名前のモジュールがない(BeautifulSoup)
-
[解決済み】Python - "ValueError: not enough values to unpack (expected 2, got 1)" の修正方法 [閉店].