urllib

  在python3中,urllib和urllib2进行了合并,现在只有一个urllib模块,urllib和urllib2的中的内容整合进了urllib.request,urlparse整合进了urllib.parse

urlparse  将urlstr解析成各个组件

# -*- coding:utf-8 -*-
import urllib.request
import urllib.parse
url = "http://www.baidu.com"
parsed = urllib.parse.urlparse(url)
print(parsed)
#输出:ParseResult(scheme='http', netloc='www.baidu.com', path='', params='', query='', fragment='')

urljoin(baseurl,newurl,allowFrag=None)  将url的根域名和新url拼合成一个完整的url

import urllib.parse
url = "http://www.baidu.com"
new_path = urllib.parse.urljoin(url,"index.html")
print(new_path)
#输出:http://www.baidu.com/index.html

urlopen(url,data,timeout)  打开一个url的方法,返回一个文件对象,然后可以进行类似文件对象的操作

import urllib.request
req = urllib.request.urlopen('http://www.baidu.com')
print(req.read())

  read() , readline() , readlines() , fileno() , close()

  info():返回一个httplib.HTTPMessage 对象,表示远程服务器返回的头信息。

  getcode():返回Http状态码,如果是http请求,200表示请求成功完成;404表示网址未找到。

  geturl():返回请求的url。

urlretrieve(url,filename,reporthook,data)  下载url定位到的html文件,不写路径filename则会被存为临时文件可以用 urllib.urlcleanup() 来清理缓存

file_name = urllib.request.urlretrieve('http://www.baidu.com','%s/baidu.html'%BASE_DIR)

urlencode()   将dict中的键值对以连接符&划分

import urllib.parse
dic = {'name':'melon','age':18}
data = urllib.parse.urlencode(dic) print(data) #age=18&name=melon

GET请求

  GET请求 和我们平常get访问方式一样,直接把参数写到网址上面就好了

import urllib.request
import urllib.parse dic = {'name':'melon','age':18}
data = urllib.parse.urlencode(dic) req = urllib.request.urlopen('http://127.0.0.1:8000/index?%s'%data)
content = req.read()

POST请求

import urllib.request
import urllib.parse
import json dic = {'name':'melon','age':18}
data = urllib.parse.urlencode(dic) req = urllib.request.Request('http://127.0.0.1:8000/index', data.encode())
opener = urllib.request.urlopen(req)
content = json.loads(opener.read().decode())

当你 urllib.urlopen一个 https 的时候会验证一次 SSL 证书,当目标使用的是自签名的证书时就会出现一个URLError,如果是这样可以在开头加上

import ssl
ssl._create_default_https_context = ssl._create_unverified_context

python3中urllib的基本使用的更多相关文章

  1. Python2和Python3中urllib库中urlencode的使用注意事项

    前言 在Python中,我们通常使用urllib中的urlencode方法将字典编码,用于提交数据给url等操作,但是在Python2和Python3中urllib模块中所提供的urlencode的包 ...

  2. 常见的爬虫分析库(1)-Python3中Urllib库基本使用

    原文来自:https://www.cnblogs.com/0bug/p/8893677.html 什么是Urllib? Python内置的HTTP请求库 urllib.request          ...

  3. Python3中Urllib库基本使用

    什么是Urllib? Python内置的HTTP请求库 urllib.request          请求模块 urllib.error              异常处理模块 urllib.par ...

  4. python3中urllib库的request模块详解

    刚刚接触爬虫,基础的东西得时时回顾才行,这么全面的帖子无论如何也得厚着脸皮转过来啊! 原帖地址:https://www.2cto.com/kf/201801/714859.html 什么是 Urlli ...

  5. Python3中urllib详细使用方法(header,代理,超时,认证,异常处理)

    urllib是python的一个获取url(Uniform Resource Locators,统一资源定址器)了,我们可以利用它来抓取远程的数据进行保存哦,下面整理了一些关于urllib使用中的一些 ...

  6. Python3中urllib详细使用方法(header,代理,超时,认证,异常处理) 转

    urllib是python的一个获取url(Uniform Resource Locators,统一资源定址器)了,我们可以利用它来抓取远程的数据进行保存哦,下面整理了一些关于urllib使用中的一些 ...

  7. Python3中urllib使用介绍

    Py2.x: Urllib库 Urllin2库 Py3.x: Urllib库 变化: 在Pytho2.x中使用import urllib2——-对应的,在Python3.x中会使用import url ...

  8. Python3中urllib使用与源代码

    Py2.x: Urllib库 Urllin2库 Py3.x: Urllib库 变化: 在Pytho2.x中使用import urllib2---对应的,在Python3.x中会使用import url ...

  9. 【转】Python3中urllib详细使用方法(header,代理,超时,认证,异常处理)

      urllib是python的一个获取url(Uniform Resource Locators,统一资源定址器)了,我们可以利用它来抓取远程的数据进行保存哦,下面整理了一些关于urllib使用中的 ...

随机推荐

  1. waiting TTFB 时间优化

    百度百科解释:获取在接收到响应的首字节前花费的毫秒数. 根据chrome浏览器,具体请求链接的这个时间,对反应慢的页面进行优化.

  2. CodeForces 21 A+B

                                                         Jabber ID 判断邮箱地址格式是否正确..一把心酸泪...跪11+,,看后台才过.. 注 ...

  3. 腾讯云CVM使用记录--使用root权限

    1.su root 指令 ,执行下列命令获取root权限: sudo /bin/su - root 注意:严禁执行password命令,root密码默认不能被修改.

  4. 常见Bean映射工具分析评测及Orika介绍

    原地址:http://tech.dianwoda.com/2017/11/04/gao-xing-neng-te-xing-feng-fu-de-beanying-she-gong-ju-orika/ ...

  5. poj3259,简单判断有无负环,spfa

    英语能力差!百度的题意才读懂!就是一个判断有无负环的题.SPFA即可.,注意重边情况!! #include<iostream> //判断有无负环,spfa #include<queu ...

  6. 设置select的默认选项

    2014-01-07 09:54:34|   通过后台传出的值进行选择默认项的设置 <select name="user_id" id="user_id" ...

  7. [bzoj4199][Noi2015]品酒大会_后缀自动机_后缀树_树形dp

    品酒大会 bzoj-4199 Noi-2015 题目大意:给定一个字符串,如果其两个子串的前$r$个字符相等,那么称这两个子串的开头两个位置$r$相似.如果两个位置勾兑在一起那么美味度为两个位置的乘积 ...

  8. Codeforces 920G(二分+容斥)

    题意: 定义F(x,p)表示的是一个数列{y},其中gcd(y,p)=1且y>x 给出x,p,k,求出F(x,p)的第k项 x,p,k<=10^6 分析: 很容易想到先二分,再做差 然后问 ...

  9. Oracle 用户表空间查看、修改大小、设置自增长等

      分类: Oracle 首先登入某个用户,查看某个用户在哪个表空间下: select username,default_tablespace from user_users; 查看该用户下所有的表: ...

  10. linux字符驱动之poll机制按键驱动

    在上一节中,我们讲解了如何自动创建设备节点,实现一个中断方式的按键驱动.虽然中断式的驱动,效率是蛮高的,但是大家有没有发现,应用程序的死循环里的读函数是一直在读的:在实际的应用场所里,有没有那么一种情 ...