1from urllib.parse import urlparse, urlunparse, urlsplit, urlunsplit, urljoin, urlencode, parse_qs, parse_qsl, quote,unquote

1.urlparse() 解析url

1result = urlparse('https://mbd.baidu.com/newspage/data/landingsuper?context=%7B%22nid%22%3A%22news_9094304700265862330%22%7D&n_type=0&p_from=1')
2print(type(result), result)
3print(result.scheme)
4print(result[0])

2.urlunparse() 构造url 长度最长为6

1data = ['https', 'www.baidu.com', 'index.html', 'user', 'a=6', 'comment']
2print(urlunparse(data))

3.urlsplit() 把参数合并到path

1result = urlsplit('https://www.baidu.com/index.html;user?a=6#comment')
2print(result)
3print(result.scheme)
4print(result[0])

4.urlunsplit() 组成完整的链接

1data = ['https', 'www.baidu.com', 'index.html', 'a=6', 'comment']
2print(urlunsplit(data))

5.urljoin() 可以实现链接的解析,拼合,与生成

1print(urljoin("https://www.baidu.com/", 'FAQ.html'))
2print(urljoin('http://www.baiduu.com', 'https://www.gxj.com/FAQ.html'))

6.urlencode() 字典转化为请求参数

1params = {
2    'name': 'germey',
3    'age': 22
4}
5baseurl = 'http://www.baiduu.com?'
6url = baseurl + urlencode(params)
7print('--urlencode--%s' %url)

7.parse_qs() 转化为字典

1query = 'name=germey&age=22'
2print('--parse_qs---%s' %parse_qs(query))

8.parse_qsl() 参数转化为元祖组成的列表

1query = 'name=germey&age=22'
2print('--parse_qsl--%s' %parse_qsl(query))

9.quote() 将中文转化为英文

1keyword = '我爱你'
2url = 'http://www.baiduu.com' + quote(keyword)
3print('--quote()--%s'%url)

10.unquote() 将英文转化为中文

1keyword ='%E6%88%91%E7%88%B1%E4%BD%A0'
2url = 'http://www.baiduu.com' + unquote(keyword)
3print('--quote()--%s'%url)

urllib库:解析链接的更多相关文章

  1. urllib.parse解析链接

    1. urlparse() 解析链接,注意,返回值比3多一个params的属性 from urllib.parse import urlparse result = urlparse('http:// ...

  2. python--爬虫入门(七)urllib库初体验以及中文编码问题的探讨

    python系列均基于python3.4环境 ---------@_@? --------------------------------------------------------------- ...

  3. python爬虫 - Urllib库及cookie的使用

    http://blog.csdn.net/pipisorry/article/details/47905781 lz提示一点,python3中urllib包括了py2中的urllib+urllib2. ...

  4. (爬虫)urllib库

    一.爬虫简介 什么是爬虫?通俗来讲爬虫就是爬取网页数据的程序. 要了解爬虫,还需要了解HTTP协议和HTTPS协议:HTTP协议是超文本传输协议,是一种发布和接收HTML页面的传输协议:HTTPS协议 ...

  5. 爬虫之urllib库

    一.urllib库简介 简介 Urllib是Python内置的HTTP请求库.其主要作用就是可以通过代码模拟浏览器发送请求.它包含四个模块: urllib.request :请求模块 urllib.e ...

  6. 一起学爬虫——urllib库常用方法用法总结

    1.读取cookies import http.cookiejar as cj,urllib.request as request cookie = cj.CookieJar() handler = ...

  7. 爬取w3c课程—Urllib库使用

    爬虫原理 浏览器获取网页内容的步骤:浏览器提交请求.下载网页代码.解析成页面,爬虫要做的就是: 模拟浏览器发送请求:通过HTTP库向目标站点发起请求Request,请求可以包含额外的header等信息 ...

  8. Python爬虫入门(3-4):Urllib库的高级用法

    1.分分钟扒一个网页下来 怎样扒网页呢?其实就是根据URL来获取它的网页信息,虽然我们在浏览器中看到的是一幅幅优美的画面,但是其实是由浏览器解释才呈现出来的,实质它 是一段HTML代码,加 JS.CS ...

  9. 爬虫入门之urllib库详解(二)

    爬虫入门之urllib库详解(二) 1 urllib模块 urllib模块是一个运用于URL的包 urllib.request用于访问和读取URLS urllib.error包括了所有urllib.r ...

随机推荐

  1. linux7buffer和cache

    现象:作为hdfs集群的主节点,越来越卡 排查:CPU,mem CPU正常,检查内存情况,发现如下 如上截图:发现程序可用内存为91G,但是部分swap分区被占用.于是引出如下思考,free -h这条 ...

  2. sql 导入文件

    zai SQLQuery4.sql 文件中 --BULK INSERT Table_1 from 'D:\aaaa#azzz.txt' with(fieldterminator=',',rowterm ...

  3. SQL中Charindex和Oracle中对应的函数Instr

    转:http://blog.csdn.net/zhuyu19911016520/article/details/8568640 sql :charindex('字符串',字段)>0 charin ...

  4. 【BZOJ3261】最大异或和(可持久化Trie)

    题意: 思路:可持久化Trie板子题,支持序列插入和询问 #include<bits/stdc++.h> using namespace std; typedef long long ll ...

  5. 导数与微分简单总结(updated)

    只讲一些导数在OI中的简单应用,特别基础的东西,不会很详细也不会很全面. 导数的定义 设函数\(y=f(x)\)在点\(x_0\)的某个邻域内有定义,当自变量\(x\)在\(x_0\)处有增量\(Δx ...

  6. char、varchar 哪种的搜索效率高

    在MySQL 中char 和 varchar 都是存储字符串的,区别在于char有固定的长度,而varchar属于可变长的字符类型.char(M)类型的数据列里,每个值都占用M个字节,如果某个长度小于 ...

  7. C++入门经典-例3.9-使用嵌套表达式判断一个数是否是3和5的整数倍

    1:代码如下: // 3.9.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> using ...

  8. php_network_getaddresses: getaddrinfo failed

    在使用 file_get_contents远程请求url时,出现警告:php_network_getaddresses: getaddrinfo failed: Name or servicenot ...

  9. spark 笔记 13: 再看DAGScheduler,stage状态更新流程

    当某个task完成后,某个shuffle Stage X可能已完成,那么就可能会一些仅依赖Stage X的Stage现在可以执行了,所以要有响应task完成的状态更新流程. ============= ...

  10. 系统句柄报too many files open

    对于一般的应用来说(象Apache.系统进程)1024完全足够使用.但是如何象java等单进程处理大量请求的应用来说就有点捉襟见肘了.如果单个进程打开的文件句柄数量超过了系统定义的值,就会提到“too ...