urllib库:解析链接
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库:解析链接的更多相关文章
- urllib.parse解析链接
1. urlparse() 解析链接,注意,返回值比3多一个params的属性 from urllib.parse import urlparse result = urlparse('http:// ...
- python--爬虫入门(七)urllib库初体验以及中文编码问题的探讨
python系列均基于python3.4环境 ---------@_@? --------------------------------------------------------------- ...
- python爬虫 - Urllib库及cookie的使用
http://blog.csdn.net/pipisorry/article/details/47905781 lz提示一点,python3中urllib包括了py2中的urllib+urllib2. ...
- (爬虫)urllib库
一.爬虫简介 什么是爬虫?通俗来讲爬虫就是爬取网页数据的程序. 要了解爬虫,还需要了解HTTP协议和HTTPS协议:HTTP协议是超文本传输协议,是一种发布和接收HTML页面的传输协议:HTTPS协议 ...
- 爬虫之urllib库
一.urllib库简介 简介 Urllib是Python内置的HTTP请求库.其主要作用就是可以通过代码模拟浏览器发送请求.它包含四个模块: urllib.request :请求模块 urllib.e ...
- 一起学爬虫——urllib库常用方法用法总结
1.读取cookies import http.cookiejar as cj,urllib.request as request cookie = cj.CookieJar() handler = ...
- 爬取w3c课程—Urllib库使用
爬虫原理 浏览器获取网页内容的步骤:浏览器提交请求.下载网页代码.解析成页面,爬虫要做的就是: 模拟浏览器发送请求:通过HTTP库向目标站点发起请求Request,请求可以包含额外的header等信息 ...
- Python爬虫入门(3-4):Urllib库的高级用法
1.分分钟扒一个网页下来 怎样扒网页呢?其实就是根据URL来获取它的网页信息,虽然我们在浏览器中看到的是一幅幅优美的画面,但是其实是由浏览器解释才呈现出来的,实质它 是一段HTML代码,加 JS.CS ...
- 爬虫入门之urllib库详解(二)
爬虫入门之urllib库详解(二) 1 urllib模块 urllib模块是一个运用于URL的包 urllib.request用于访问和读取URLS urllib.error包括了所有urllib.r ...
随机推荐
- linux7buffer和cache
现象:作为hdfs集群的主节点,越来越卡 排查:CPU,mem CPU正常,检查内存情况,发现如下 如上截图:发现程序可用内存为91G,但是部分swap分区被占用.于是引出如下思考,free -h这条 ...
- sql 导入文件
zai SQLQuery4.sql 文件中 --BULK INSERT Table_1 from 'D:\aaaa#azzz.txt' with(fieldterminator=',',rowterm ...
- SQL中Charindex和Oracle中对应的函数Instr
转:http://blog.csdn.net/zhuyu19911016520/article/details/8568640 sql :charindex('字符串',字段)>0 charin ...
- 【BZOJ3261】最大异或和(可持久化Trie)
题意: 思路:可持久化Trie板子题,支持序列插入和询问 #include<bits/stdc++.h> using namespace std; typedef long long ll ...
- 导数与微分简单总结(updated)
只讲一些导数在OI中的简单应用,特别基础的东西,不会很详细也不会很全面. 导数的定义 设函数\(y=f(x)\)在点\(x_0\)的某个邻域内有定义,当自变量\(x\)在\(x_0\)处有增量\(Δx ...
- char、varchar 哪种的搜索效率高
在MySQL 中char 和 varchar 都是存储字符串的,区别在于char有固定的长度,而varchar属于可变长的字符类型.char(M)类型的数据列里,每个值都占用M个字节,如果某个长度小于 ...
- C++入门经典-例3.9-使用嵌套表达式判断一个数是否是3和5的整数倍
1:代码如下: // 3.9.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> using ...
- php_network_getaddresses: getaddrinfo failed
在使用 file_get_contents远程请求url时,出现警告:php_network_getaddresses: getaddrinfo failed: Name or servicenot ...
- spark 笔记 13: 再看DAGScheduler,stage状态更新流程
当某个task完成后,某个shuffle Stage X可能已完成,那么就可能会一些仅依赖Stage X的Stage现在可以执行了,所以要有响应task完成的状态更新流程. ============= ...
- 系统句柄报too many files open
对于一般的应用来说(象Apache.系统进程)1024完全足够使用.但是如何象java等单进程处理大量请求的应用来说就有点捉襟见肘了.如果单个进程打开的文件句柄数量超过了系统定义的值,就会提到“too ...