Python urlopen()参数代码示例解析


Posted in Python onDecember 10, 2020

1.data参数

data是可选的,需要使用bytes()方法将参数转化为字节编码格式的内容。如果传递了这个参数,请求方式就不是GET方式,而是POST方式。

import urllib.parse
import urllib.request

data = bytes(urllib.parse.urlencode({'word':'hello'}),encoding='utf8')#使用bytes()方法将参数word(值是hello),转换为字节流(bytes),#该方法的第一个参数需要str类型,需要用urllib.parse模块里的urlencode()方法将参数字典转化为字符串。response = urllib.request.urlopen('http://httpbin.org/post',data = data)
print(response.read())

2.timeout参数

用于设置超时时间,单位为秒,如果超出了设置的这个时间,还没有得到响应,就会抛出异常。可以通过设置这个超时时间来控制一个页面长时间未响应时,就跳过它的抓取。

import socket
import urllib.request
import urllib.error

try:
  response = urllib.request.urlopen('http://httpbin.org/get',timeout=0.1)#设置超时时间为0.1s
except urllib.error.URLError as e:
  if isinstance(e.reason,socket.timeout):
    print('TIME OUT')#如果超时,输出TIME OUT

3.其他参数

context参数,类型必须是ssl.SSLContext类型。

cafile和capath这两个参数分别指定CA证书和它的路径,在请求HTTPS链接时候有用。

cadefault参数已经弃用了,其默认值为False。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python linecache.getline()读取文件中特定一行的脚本
Sep 06 Python
一个检测OpenSSL心脏出血漏洞的Python脚本分享
Apr 10 Python
python实现简单的计时器功能函数
Mar 14 Python
Python多线程编程(七):使用Condition实现复杂同步
Apr 05 Python
以一个投票程序的实例来讲解Python的Django框架使用
Feb 18 Python
Python解析json时提示“string indices must be integers”问题解决方法
Jul 31 Python
解决python 3 urllib 没有 urlencode 属性的问题
Aug 22 Python
python生成器推导式用法简单示例
Oct 08 Python
Python urllib2运行过程原理解析
Jun 04 Python
利用python下载scihub成文献为PDF操作
Jul 09 Python
Selenium webdriver添加cookie实现过程详解
Aug 12 Python
python源码剖析之PyObject详解
May 18 Python
Python urllib request模块发送请求实现过程解析
Dec 10 #Python
Python APScheduler执行使用方法详解
Dec 10 #Python
flask项目集成swagger的方法
Dec 09 #Python
python的dict判断key是否存在的方法
Dec 09 #Python
python RSA加密的示例
Dec 09 #Python
python中把元组转换为namedtuple方法
Dec 09 #Python
python不同版本的_new_不同点总结
Dec 09 #Python
You might like
DIY一个适配电脑声卡的动圈话筒放大器
2021/03/02 无线电
PHP网站备份程序代码分享
2011/06/10 PHP
php max_execution_time执行时间问题
2011/07/17 PHP
IIS6.0中配置php服务全过程解析
2013/08/07 PHP
WordPress主题制作之模板文件的引入方法
2015/12/28 PHP
PHP序列化/对象注入漏洞分析
2016/04/18 PHP
PHP常用的三种设计模式汇总
2016/08/28 PHP
zeroclipboard复制到剪切板的flash
2010/08/04 Javascript
js 中 document.createEvent的用法
2010/08/29 Javascript
Extjs NumberField后面加单位实现思路
2013/07/30 Javascript
node.js中的fs.exists方法使用说明
2014/12/17 Javascript
NodeJS使用jQuery选择器操作DOM
2015/02/13 NodeJs
javascript每日必学之继承
2016/02/23 Javascript
JS代码防止SQL注入的方法(超简单)
2016/04/12 Javascript
Bootstrap Validator 表单验证
2016/07/25 Javascript
老生常谈javascript变量的命名规范和注释
2016/09/29 Javascript
js实现加载更多功能实例
2016/10/27 Javascript
Angular.js ng-file-upload结合springMVC的使用教程
2017/07/10 Javascript
解决Layui 表单提交数据为空的问题
2018/08/15 Javascript
Angular 中使用 FineReport不显示报表直接打印预览
2019/08/21 Javascript
JS自定义对象创建与简单使用方法示例
2020/01/15 Javascript
Vue实现图书管理小案例
2020/12/03 Vue.js
python处理xml文件的方法小结
2017/05/02 Python
Windows下Anaconda的安装和简单使用方法
2018/01/04 Python
python计算两个数的百分比方法
2018/06/29 Python
pycharm工具连接mysql数据库失败问题
2020/04/01 Python
Python的控制结构之For、While、If循环问题
2020/06/30 Python
python实现每天自动签到领积分的示例代码
2020/08/18 Python
英国潮流网站:END.(全球免邮)
2017/01/16 全球购物
什么叫做SQL注入,如何防止
2016/10/04 面试题
商务日语毕业生自荐信
2013/11/23 职场文书
应付会计岗位职责
2013/12/12 职场文书
《三峡》教学反思
2014/03/01 职场文书
“向国旗敬礼”主题班会活动设计方案
2014/09/27 职场文书
如何有效防止sql注入的方法
2021/05/25 SQL Server
vue如何实现关闭对话框后刷新列表
2022/04/08 Vue.js