圆月山庄资源网 Design By www.vgjia.com

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,urlopen,参数

圆月山庄资源网 Design By www.vgjia.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
圆月山庄资源网 Design By www.vgjia.com