urllib url解析学习
#!/usr/bin/env python
# encoding: utf-8
from urllib.parse import *
#urlparse:解析url分段
#urlsplit:类似urlparse,不再单独解析params部分
#urlunsplit:后面必须1个列表,里面5个参数
#urljoin:字符串的拼接
#parse_qs:字符串参数转字典参数
#parse_qsl:字符串参数转列表元组
#urlencode:GET请求参数逇编码
#quote:url带中文的时候可用来编码
#unquote:用来解码
URL="http://www.baidu.com/s?wd=falsk%20%E6%95%B0%E6%8D%AE%E6%93%8D%E4%BD%9C&rsv_spt=1&rsv_iqid=0x869d926300006682&issp=1&f=8&rsv_bp=1&rsv_idx=2&ie=utf-8&rqlang=cn&tn=baiduhome_pg&rsv_enter=0&oq=kwargs&inputT=6623&rsv_t=121540vUUWCKfciS1Ir0wlIBRBImaOVodO0fliZnJ%2BDCLWcUQ%2BHb5lhrg204XikhTHMY&rsv_pq=ef5d22fb0001200c&sug=python%2520utf-8&rsv_sug3=125&rsv_sug1=36&rsv_sug7=100&rsv_sug2=0&rsv_sug4=7658" #scheme表示http还是https的协议,如果url不带协议根据scheme的值加上 result1=urlparse(URL,scheme='',allow_fragments=True) print(urlunsplit([result1.scheme,result1.netloc,"","",""])) # ParseResult(scheme='http', netloc='www.baidu.com', path='/s', params='', query='wd=falsk%20%E6%95%B0%E6%8D%AE%E6%93%8D%E4%BD%9C&rsv_spt=1&rsv_iqid=0x869d926300006682&issp=1&f=8&rsv_bp=1&rsv_idx=2&ie=utf-8&rqlang=cn&tn=baiduhome_pg&rsv_enter=0&oq=kwargs&inputT=6623&rsv_t=121540vUUWCKfciS1Ir0wlIBRBImaOVodO0fliZnJ%2BDCLWcUQ%2BHb5lhrg204XikhTHMY&rsv_pq=ef5d22fb0001200c&sug=python%2520utf-8&rsv_sug3=125&rsv_sug1=36&rsv_sug7=100&rsv_sug2=0&rsv_sug4=7658', fragment='')
#scheme表示http还是https的协议,如果url不带协议根据scheme的值加上
result1=urlparse(URL,scheme='',allow_fragments=True) print(urlunsplit([result1.scheme,result1.netloc,"","",""]))
# ParseResult(scheme='http', netloc='www.baidu.com', path='/s', params='', query='wd=falsk%20%E6%95%B0%E6%8D%AE%E6%93%8D%E4%BD%9C&rsv_spt=1&rsv_iqid=0x869d926300006682&issp=1&f=8&rsv_bp=1&rsv_idx=2&ie=utf-8&rqlang=cn&tn=baiduhome_pg&rsv_enter=0&oq=kwargs&inputT=6623&rsv_t=121540vUUWCKfciS1Ir0wlIBRBImaOVodO0fliZnJ%2BDCLWcUQ%2BHb5lhrg204XikhTHMY&rsv_pq=ef5d22fb0001200c&sug=python%2520utf-8&rsv_sug3=125&rsv_sug1=36&rsv_sug7=100&rsv_sug2=0&rsv_sug4=7658', fragment='')
urllib url解析学习的更多相关文章
- Android] Android XML解析学习——方式比较
[Android] Android XML解析学习——方式比较 (ZT) 分类: 嵌入式 (From:http://blog.csdn.net/ichliebephone/article/deta ...
- 百度url解析Joe.Smith整理大全
百度url解析Joe.Smith整理大全 百度url解析Joe.Smith整理大全...1 本文链接:http://blog.csdn.net/qq_26816591/article/details/ ...
- 「Python 编程」编码实现网络请求库中的 URL 解析器
摘要:怎么写出更短的代码并不是这次要讨论的话题.今天我们来研究一下:运行代码的计算机是如何找到目标服务器的? 相信各位 Python 开发者都用过 Requests 库,有些朋友还用过 WebSock ...
- 简单的URL解析
简单的URL解析,直接举例说明了 function getUrl(){ //如果存在则取到来后面的参数,注意,?不需要取出,substring从1开始,否则取""; var qs ...
- ThinkPHP中URL解析原理,以及URL路由使用教程!
几个概念: THINKPHP 是一个MVC框架,使用PATHINFO解析出分组名,模块名,方法名,以及参数. PATHINFO:就是 http://localhost/index.php/Home/I ...
- Django的url解析
Django中采用正则表达式来匹配所请求的url,这个叫做URLconf,作为MVC中的C(控制器), 这样再调用相应的试图,达到控制器控制试图的显示的效果. 看一下Django的url解析过程 第一 ...
- jsp页面获取参数的方法(url解析、el表达式赋值、session取值)【原创】
最近使用myEclispse做网站,使用jsp+js+css做页面,网站中常用到从列表进入详情页面的跳转,下面对详情页面的值填充方式做一个简单总结: 1.url中使用request获取参数 jsp上方 ...
- url模块学习小结
url模块是node自带的功能强大的url解析库. var url = require("url"); var str = "http://192.168.0.109:8 ...
- 用正则把url解析为对象
用正则把url解析为对象 <!DOCTYPE html><html><head><meta charset="utf-8">< ...
随机推荐
- 树上dfs+思维
#include<cstdio> ; int cnt,head[N],n; int size[N],num[N]; void init() { cnt = ; ;i<N;i++) h ...
- linux c 调用子文件函数
今天在学习初级linux c的时候遇到了如下问题:通过主函数调用同路径下的子文件函数调用失败.博主是这样一一解决的: 首先:hello.c: hello.c: #include<bool.c&g ...
- 7 Django分页器文章分页
1.复习 2.这节课要解决的问题? 3.分页的原理 4.准备工作 (1)创建Django项目 C:\Users\Administrator\Desktop\root3>django-admin ...
- java 值传递 和 引用传递
参考:(http://www.cnblogs.com/woshimrf/p/5263018.html) 参考:(http://www.cnblogs.com/binyue/p/3862276.html ...
- 教你一步学会安装Hue
一.简介 hue是一个开源的apache hadoop ui系统,由cloudear desktop演化而来,最后cloudera公司将其贡献给了apache基金会的hadoop社区,它基于pytho ...
- CC3200在AP模式的TCP sock作为客户端连接时返回SL_ECONNREFUSED(-111) Connection refused
1. CC3200处于AP模式(电脑无线连接CC3200的WIFI信号),开启一个TCP socket,这个socket作为TCP客户端去连接TCP服务器端 struct sockaddr_in ad ...
- unity3d中C#与JS的一些区别
unity3d目前支持C#和JS两种脚本语言. 学习过程中发现很多教程使用的是JS语言,自己还是用C#比较多,unity原生使用的是Mono,使用C#会更加接近unity的编程思想. 1.方法的定义, ...
- DOS程序员手册(三)
56页 第4章DOS和BIOS接口 本章介绍了用户程序访问DOS内核和BIOS所提供的各种服务的方法.为了访问这 些服务,我们可以从任何编程语言中调用各个软件中断,这些中断便是我们在本 ...
- python - web自动化测试 - 元素操作 - 窗口切换
# -*- coding:utf-8 -*- ''' @project: web学习 @author: Jimmy @file: 元素操作-切换.py @ide: PyCharm Community ...
- .NET Core Linux 部署实践
部署环境:CentOS 7 x64 必要条件:当前用户有sudo权限 1. 安装依赖包sudo yum install libunwind libicu2. 下载.net core安装文件curl - ...