使用 urllib 解析 URL 链接
urllib 库还提供了 parse 模块,它定义了处理 URL 的标准接口,例如实现 URL 各部分的抽取、合并以及链接转换,常用的方法如下:
In []: from urllib.parse import urlparse, urlunparse, urlsplit, urlunsplit, urljoin, parse_qs, parse_qsl, quote, unquote //urlparse()用于对一个URL进行分段
In []: urlparse("http://www.baidu.com/index.html;user?id=5#comment")
Out[]: ParseResult(scheme='http', netloc='www.baidu.com', path='/index.html', params='user', query='id=5', fragment='comment') //urlunparse()用于构造一个URL
In []: urlunparse(['http', 'www.baidu.com', '/index.html', 'user', 'id=5', 'comment'])
Out[]: 'http://www.baidu.com/index.html;user?id=5#comment' //urlsplit() 与 urlparse() 用法一致,但只运回5个结果,params 会合并到 path 中
In []: urlsplit("http://www.baidu.com/index.html;user?id=5#comment")
Out[]: SplitResult(scheme='http', netloc='www.baidu.com', path='/index.html;user', query='id=5', fragment='comment') //urlunsplit() 与 urlunparse() 用法一致,但传入的长度必须是5个
In []: urlunsplit(['http', 'www.baidu.com', '/index.html', 'id=5', 'comment'])
Out[]: 'http://www.baidu.com/index.html?id=5#comment' //urljoin()用于生成链接,第一个参数是基础URL,第二个参数相对URL,连结两个参数生成一个新的链接
In []: urljoin('http://www.baidu.com/', 'FAQ.html')
Out[]: 'http://www.baidu.com/FAQ.html' //urlencode()用于序列化GET请求参数,通常用来构造请求链接
In []: base_url = "http://www.baidu.com"
In []: params = {'name': 'Tom', 'age': }
In []: base_url + urlencode(params)
Out[]: 'http://www.baidu.comname=Tom&age=18' //parse_qs()用于反序列化GET请求参数
In []: query = "name=Tom&age=18"
In []: parse_qs(query)
Out[]: {'name': ['Tom'], 'age': ['']} //parse_qsl()用于将参数转化为元组组成的列表
In []: query = "name=Tom&age=18"
In []: parse_qsl(query)
Out[]: [('name', 'Tom'), ('age', '')] //quote()用于对URL进行编码,将内容转化为URL编码的格式
In []: "http://www.baidu.com/" + quote("你好")
Out[]: 'http://www.baidu.com/%E4%BD%A0%E5%A5%BD' //unquote()用于对URL进行解码
In []: unquote("http://www.baidu.com/%E4%BD%A0%E5%A5%BD")
Out[]: 'http://www.baidu.com/你好'
使用 urllib 解析 URL 链接的更多相关文章
- js篇-解析url链接里面的参数名和参数值
项目背景是,链接为:https://paladin.pingan.com.cn/jf/?appId=PA00200000000_01_APP&id=123456#/fundRank 要求拿到: ...
- Python 的 urllib.parse 库解析 URL
Python 中的 urllib.parse 模块提供了很多解析和组建 URL 的函数. 解析url urlparse() 函数可以将 URL 解析成 ParseResult 对象.对象中包含了六 ...
- iOS解析新浪微博的@##以及URL链接并展示
最近在做一个跟微博相关的应用.其中涉及到了对微博中@.##以及URL链接的解析与展示.分享一下个人处理的方式,希望对需要的人有所帮助. 最终的展现效果: 首先,第一步是你得从纯文本中找到它们.毫无疑问 ...
- URL链接后面的参数解析,与decode编码解码;页面刷新回到顶部jquery
function request() { var urlStr = location.search; ) { theRequest = []; return; } urlStr = urlStr.su ...
- Python 网络爬虫 009 (编程) 通过正则表达式来获取一个网页中的所有的URL链接,并下载这些URL链接的源代码
通过 正则表达式 来获取一个网页中的所有的 URL链接,并下载这些 URL链接 的源代码 使用的系统:Windows 10 64位 Python 语言版本:Python 2.7.10 V 使用的编程 ...
- 详解Node解析URL网址
前提给大家声明一下,我操作的环境是Mac终端下操作的.(前提是你先要下载好node.js) 说道URL 恐怕都不陌生,但是要说URL,就 必须先说下URI URI是统一资源标识符,是一个用于标识某一互 ...
- PHP的学习--解析URL
PHP中有两个方法可以用来解析URL,分别是parse_url和parse_str. parse_url 解析 URL,返回其组成部分 mixed parse_url ( string $url [, ...
- django反向解析URL和URL命名空间
django反向解析URL和URL命名空间 首先明确几个概念: 1.在html页面上的内容特别是向用户展示的url地址,比如常见的超链接,图片链接等,最好能动态生成,而不要固定. 2.一个django ...
- python模块之HTMLParser抓页面上的所有URL链接
# -*- coding: utf-8 -*- #python 27 #xiaodeng #python模块之HTMLParser抓页面上的所有URL链接 import urllib #MyParse ...
随机推荐
- [kafka] 003_kafka_主要配置
1.broker配置 2.Producer主要配置 3.Consumer主要配置 出错提示信息: replication factor: 1 larger than available brokers ...
- Android pid uid
PID:为Process Identifier, PID就是各进程的身份标识,程序一运行系统就会自动分配给进程一个独一无二的PID.进程中止后PID被系统回收,可能会被继续分配给新运行的程序,但是在a ...
- php 从1加到100
<?php //1-100利用for循环1-100累加 $sum=0;//初始化sum值为0 for($i=1;$i<=100;$i++)//定义i,循环次数,一般求1-100的和,从1开 ...
- Android图片二进制与Bitmap、Drawable之间的转换
Android图片二进制与Bitmap.Drawable之间的转换 Java代码 public byte[] getBitmapByte(Bitmap bitmap){ ByteArray ...
- C语言中头文件——你乱吗????
如果尔等之辈问本大神,为什么需要头文件呢?本大神告诉你:想要知道为什么需要头文件的话,你就应该知道C语言编译的过程: 本大神为你们准备了基本知识: C语言文件的编译与执行的四个阶段并分别描述: C++ ...
- Java数组超出范围时如何处理多个异常?
在Java编程中,数组超出范围时如何处理多个异常? 此示例显示如何使用System类的System.err.println()方法处理多个异常方法. package com.yiibai; publi ...
- Eclispe IDE集成Maven
Eclipse提供了一个很好的插件m2eclipse 无缝将Maven和Eclipse集成在一起. m2eclipse一些特点如下 您可以从Eclipse运行Maven目标. 可以使用其自己的控制台查 ...
- 深入探讨:MySQL数据库MyISAM与InnoDB存储引擎的比较
From: http://www.jb51.net/article/37766.htm MySQL有多种存储引擎,MyISAM和InnoDB是其中常用的两种.这里介绍关于这两种引擎的一些基本概念(非深 ...
- 7款HTML5精美应用教程 让你立即爱上HTML5
你喜欢HTML5吗?我想下面的这7个HTML5应用一定会让你爱上HTML5的,不信就一起来看看吧. 1.HTML5/jQuery雷达动画图表 图表配置十分简单 之前我们介绍过不少形形色色的HTML5图 ...
- spring mvc实现接口参数统一更改
适用于post json方式提交 使用map接收的接口参数更改. 使用@Aspect实现: