目标url:https://www.baidu.com/s?&wd=python&ie=utf-8  

将字典转成url参数

  • 使用urllib.parse的urlencode方法,将字典对象传入返回标准的url参数格式字符串
 from urllib.parse import urlencode
params = {'wd': 'python', 'ie': 'utf-8'}
result = urlencode(params) # wd=python&ie=utf-8
  • 使用requests
 import requests

 params = {'wd': 'python', 'ie': 'utf-8'}
r = requests.get('https://www.baidu.com/s', params=params)
result = r.url.split('?')[1] # wd=python&ie=utf-8

将url参数转成字典

  • 使用urllib.parse的parse_qs和urlparse方法
 from urllib.parse import parse_qs, urlparse

 url = 'https://www.baidu.com/s?&wd=python&ie=utf-8'
# 提取url参数
query = urlparse(url).query # wd=python&ie=utf-8
# 将字符串转换为字典
params = parse_qs(query) # {'wd': ['python'], 'ie': ['utf-8']}
"""所得的字典的value都是以列表的形式存在,若列表中都只有一个值"""
result = {key: params[key][0] for key in params} # {'wd': 'python', 'ie': 'utf-8'}

url参数和字典的相互转化的更多相关文章

  1. Objective-C中把URL请求的参数转换为字典

    上一篇博客中是把URL转换为字典,那么我们如何把URL请求中的参数封装成字典,然后再封装成数组呢?对OC中字符串操作熟练的小伙伴们应该觉得这是一个a+b的问题,没错把URL中的参数转换为字典主要是对字 ...

  2. Page_Load接收随机参数放到字典类中

    Page_Load接收随机参数放到字典类中,可以用作签名.普通的接收url的参数可以用作下面这种模式:  int appid =Convert.ToInt32(param["appid&qu ...

  3. ios计算字符串宽高,指定字符串变色,获取URL参数集合

    #import <Foundation/Foundation.h> @interface NSString (Extension) - (CGFloat)heightWithLimitWi ...

  4. Javascript 获取链接(url)参数的方法

    有时我们需要在客户端获取链接参数,一个常见的方法是将链接当做字符串,按照链接的格式分解,然后获取对应的参数值.本文给出的就是这个流程的具体实现方法. 当然,我们也可以用正则直接匹配,文章中也给出了一个 ...

  5. 正则表达式解析url参数

    解析url参数正则:(?<=\?|&)[\w\={}\\\\,-:'\s'""]*(?=[^#\s]|) 意思是(?<=\?|&) 从?或&符号 ...

  6. 获取移除指定Url参数(原创)

    /// <summary> /// 移除指定的Url参数 /// 来自:http://www.cnblogs.com/cielwater /// </summary> /// ...

  7. 总结:客户端与服务器端使用正则增加URL参数的方法

    先说服务器端的: C#版本 #region URL参数操作 /// <summary> /// URL参数操作 /// </summary> public class UrlP ...

  8. js 获取url参数的值

    //获取url参数函数function GetQueryString(name){    var reg = new RegExp("(^|&)"+ name +" ...

  9. js对特殊字符转义、时间格式化、获取URL参数

    /*特殊字符转义*/ function replace_html(str) { var str = str.toString().replace(/&/g, "&" ...

随机推荐

  1. python 利用turtle库绘制五角星

    # -*- coding: utf-8 –*-import turtleimport math def draw_polygon(aTurtle, size=50, n=3): for i in ra ...

  2. C++解析七-重载运算符和重载函数

    重载运算符和重载函数C++ 允许在同一作用域中的某个函数和运算符指定多个定义,分别称为函数重载和运算符重载.重载声明是指一个与之前已经在该作用域内声明过的函数或方法具有相同名称的声明,但是它们的参数列 ...

  3. python全栈开发笔记-----------概要

    Python开发 开发: 开发语言: 高级语言:python.Java.php  .C#   .Go .ruby . C++ .... ===>字节码 低级语言:C.汇编            ...

  4. python,判断操作系统是windows,linux

    import sys,platform print(sys.platform) print(platform.system()) sys.platform: 获取当前系统平台. platform.sy ...

  5. java 实现简单的顺序栈

    package com.my; import java.util.Arrays; /** * 顺序栈 * @author wanjn * */ public class ArrayStack { pr ...

  6. 外部点击链接,登陆后,直接跳转到该链接(过滤器 + Cookie实现)

    一.web.xml (1)指定过滤的Servlet类 (2)配置过滤规则,过滤以.mail结尾的链接 <?xml version="1.0" encoding="U ...

  7. Java:多个文档合并输出到一个文档

    多个文档合并输出到一个文档 方法:Java NIO package First; import java.io.File; import java.io.FileInputStream; import ...

  8. List在遍历中删除t元素

    法一:使用普通for循环遍历 注意: 1.从头开始循环,每次删除后 i  减一.             2.从尾开始循环. public class Main { public static voi ...

  9. 【转载】Maven中的BOM概念

    1.概述 1.1.什么是 BOM? BOM stands for Bill Of Materials. A BOM is a special kind of POM that is used to c ...

  10. Android : VLC for Android 环境搭建及编译

    一.下载VLC源码: git clone https://code.videolan.org/videolan/vlc-android.git 编译apk:   sh compile.sh -a ar ...