精华内容
下载资源
问答
  • Python request urllib 获取远程文件大小 有两个方法 requests库 import urllib import requests url=r'https://down.qq.com/qqweb/PCQQ/PCQQ_EXE/PCQQ2020.exe' download=requests.get(url) print(download....

    Python request urllib 获取远程文件大小

    有两个方法都可以获取文件大小

    第一种使用requests库

    import urllib
    import requests
    
    url=r'https://down.qq.com/qqweb/PCQQ/PCQQ_EXE/PCQQ2020.exe'
    
    download=requests.get(url)
    print(download.headers['content-length'])
    

    这个方法可以取到文件大小,但是缺点在于,首先会下载文件.

    第二种使用urllib库

    import urllib
    import requests
    
    url=r'https://down.qq.com/qqweb/PCQQ/PCQQ_EXE/PCQQ2020.exe'
    
    download=urllib.request.urlopen(url)
    print(download.headers['content-length'])
    

    本方法可以不下载文件,直接获取文件大小

    [Python,Pandas]交流群 164142295

    展开全文
  • Python3中-爬虫库Urllib概述urllib.request1. urllib.request.Request2. urllib.request.urlopen3. urllib.request.urlopen和urllib.request.Request实例演示 概述 问:Urllib能做什么? 答:常用在爬虫开发、API...

    概述

    1. 问:Urllib能做什么?
      答:常用在爬虫开发、API(应用程序编程接口)数据获取、测试;
    2. 问:Urllib需要安装吗?
      答:Python自带的标准库,直接引用(import)即可;
    3. 问: Urllib、Urllib2和Urllib3区别?
      答:①在Python2中分为Urllib和Urllib2,Urllib2可以接收一个Request对象(可设置一个URL的请求头[Headers]),而Urllib只接收一个URL,不能伪装用户代理字符串等。Urllib模块可以提供进行Urlencode的方法,该方法用于GET查询字符串的生成,而Urllib2不具有这样的功能。所以Urllib与Urllib2经常在一起使用。
      ②在Python 3中,将Urllib和Urllib2合并在一起使用,并且命名为Urllib,可以处理URL的组件集合。
      ③Urllib3
      从网上找到的介绍是这样的:
      在这里插入图片描述
      Urllib3功能非常强大,但是用起来却十分简单:
      示例:
      在这里插入图片描述
      urllib3的安装方法如下:
      在这里插入图片描述
      后续再单独学习研究一下这个urllib3吧,本次我们还是以python3的Urllib库为核心;
    4. Urllib里的模块常使用的模块如下表:
    模块 简述
    urllib.request 用于打开和读取URL
    urllib.error 包含提出的例外urllib.request
    urllib.parse 用于解析URL
    urllib.robotparser 用于解析robots.txt文件

    urllib.request

    1. urllib.request.Request

    语法如下:

    urllib.request.Request(url, data=None, headers={}, origin_req_host=None, unverifiable=False, method=None)
    
    参数 说明
    url 需要访问的网站的URL地址。url格式必须完整
    data 默认值为None, Urllib判断参数data是否为None从而区分请求方式。若参数data为None,则代表请求方式为GET;反之请求方式为POST,发送POST请求。参数data以字典形式存储数据,并将参数data由字典类型转换成字节类型才能完成POST请求
    headers 设置request请求头信息
    origin_req_host 指定请求方的host名称或者ip地址
    unverifiable 设置网页是否需要验证,默认是False,这个参数一般也不用设置。
    method 设定请求方式,主要是POST和GET方式

    2. urllib.request.urlopen

    语法如下:

    urllib.request.urlopen(url, data=None, [timeout,]*, cafile=None, capath=None, cadefault=False,context=None
    
    参数 说明
    url 需要访问的网站的URL地址。url格式必须完整
    data 默认值为None, Urllib判断参数data是否为None从而区分请求方式。若参数data为None,则代表请求方式为GET;反之请求方式为POST,发送POST请求。参数data以字典形式存储数据,并将参数data由字典类型转换成字节类型才能完成POST请求
    timeout 超时设置,指定阻塞操作(请求时间)的超时(如果未指定,就使用全局默认超时设置)
    cafile、capath和cadefault 使用参数指定一组HTTPS请求的可信CA证书。cafile应指向包含一组CA证书的单个文件;capath应指向证书文件的目录;cadefault通常使用默认值即可。
    context 描述各种SSL选项的实例

    在实际使用中,常用的参数有url、data和timeout。
    发送请求后,网站会返回相应的响应内容。urlopen对象提供获取网站响应内容的方法函数:

    参数 说明
    read() 读取整个文件
    readline() 一次读取一行
    readlines() 读取整个文件到一个list中
    fileno() 返回一个整型的文件描述符(file descriptor FD 整型),可用于底层操作系统的 I/O 操作。
    close() 关闭一个已打开的文件
    info() 返回HTTPMessage对象,表示远程服务器返回的头信息。
    getcode() 返回HTTP状态码。
    geturl() 返回请求的URL。

    3. urllib.request.urlopen和urllib.request.Request实例演示

    # 请求的url
    url = "https://movie.douban.com/"
    # 添加请求头字典
    headers = {
        'User-Agent': "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36",
        'Referer': " https://movie.douban.com/",
        'Connection': "keep-alive"}
    
    # 设置request的请求头
    req = urllib.request.Request(url, headers=headers)
    # 使用urlopen打开req(url,请求头信息)
    response = urllib.request.urlopen(req)
    # 读取返回内容
    html = response.read().decode('utf8')
    # 写入文件txt
    f = open('html.txt', 'w', encoding='utf8')
    f.write(html)
    

    执行结果:
    执行后的多出一个文件:
    在这里插入图片描述
    里面内容,是请求返回的数据:
    在这里插入图片描述

    展开全文
  • urllib.request.urlopen 是个方法,用于发送给服务器(发给服务器的内容可以是根据自带参数填写,如果果需要进一步的包装请求,可以使用urllib.request.Request构造一个带有更多参数Request对象)并接收响应,返回的...

    先来看看官方说明文档:

    urllib.request.Request
    在这里插入图片描述
    这是一个类,用于构造并返回一个Request对象

    urllib.request.urlopen
    在这里插入图片描述
    urllib.request.urlopen 是个方法,用于发送给服务器(发给服务器的内容可以是根据自带参数填写,如果果需要进一步的包装请求,可以使用urllib.request.Request构造一个带有更多参数Request对象)并接收响应,返回的是响应的对象

    举个例子,去http://placekitten.com/500/600上爬一张图片并保存到本地,这两种方式都是一样的

    import urllib.request
    res = urllib.request.Request('http://placekitten.com/500/600')
    response=urllib.request.urlopen(res)
    cat_image = response.read()
    cat='cat.jpg'
    with open(cat,'wb') as cat_obj:
        cat_obj.write(cat_image)
    
    import urllib.request
    response = urllib.request.urlopen('http://placekitten.com/500/600')
    cat_image = response.read()
    cat='cat.jpg'
    with open(cat,'wb') as cat_obj:
        cat_obj.write(cat_image)
    
    展开全文
  • requests库优于urllib,其基于urllib。... 1 #urllib.request 2 r=urllib.request.urlopen('http://www.cnblogs.com/realmonkeykingsun/') 3 print(r.read().decode('utf-8)) 4 5 #urllib.parser ...

    requests库优于urllib,其基于urllib。

    urllib个人基本掌握。

     1 #urllib.request
     2 r=urllib.request.urlopen('http://www.cnblogs.com/realmonkeykingsun/')
     3 print(r.read().decode('utf-8))
     4 
     5 #urllib.parser
     6 data=(urllib.parser.urlencode({'world':'hello'}),encoding='utf-8)
     7 r=urllib.request.urlopen('http://www.cnblogs.com/realmonkeykingsun/','data=data)
     8 
     9 #urllib.error
    10 try:
    11     r=urllib.request.urlopen('http://www.cnblogs.com/realmonkeykingsun/',timeout=0.1)
    12 except urllib.error.URLErrur as e:
    13  print(e)

    Request

    import urllib.request
    request=urllib.request.Request(url=url,data=data,header=header)
    r=urlllib.request.urlopen(request)

    Handler

    #代理
    import urllib.request
    proxy_handler=urllib.request.ProxyHandler({'http':'http://127.0.1:9743'}
    opener=urllib.request.build_opener(proxy_handler)
    r=opener.open('http://www.baidu.com')
    
    #Cookie
    import http.cookiejar,urllib.request
    cookie=http:cookiejar.CookieJar()
    handler=urllib.request.HTTPCookieProcessor(cookie)
    opener=urllib.request.build_opener(handler)
    r=opener.open("http")
    for item in cookie:
         print(item.name+"="item.value)

    URL解析

    #urlparser urlunparse
    result=urlparse("http")
    
    data=['http','user','a-6']
    urlunparse(data)
    
    #urljon
    urljoin(h1,h2)
    
    #urlencode
    params={'name':'germey','age':'23'}
    base_url='http1‘
    url=base_url+urlencode(params)
    
     

     

    转载于:https://www.cnblogs.com/realmonkeykingsun/p/7850240.html

    展开全文
  • 我也是初学者,我先试着回答这个问题首先说下 urllib中的urllib.request.Request()与urllib.request.urlopen()区别相对于urllib.request.urlopen()来说urllib.request.Request是进一步的包装请求总的来说,如果我们...
  • requests与urllib.request

    千次阅读 2019-03-20 22:16:18
    requests很明显,在写法上与urllib.request不同,前者多一个 S. 导入包时: import requests import urllib.request urllib.request请求模块 urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=...
  • 1.urllib.request 请求模块 urllib.request.urlopen(url,data=None,timeout=tiem) 返回一个文件 例1(GET): response = urllib.request.urlopen("http://leadingme.top",timeout=1) response.read(...
  • 摘要:python3.x 版本将urllib与...简单介绍一下用过的urllib.requesturllib.parseurllib is a package that collects several modules for working with URLs:urllib.request for opening and reading URLsurll...
  • Python3.7 urllib.request https urllib.error.URLError 在python3.7中,请求https出现urllib.error.URLError异常,导致程序报错; 异常如下: urllib.error.URLError: urlopen error [SSL: CERTIFICATE_VERIFY_...
  • urllib.request.urlretrieve

    2019-05-03 14:14:46
    import urllib.request urllib.request.urlretrieve("https://www.so.com","D:\嗨\spider") #("网站","保存到本地的地址") urllib.request.urlcleanup() #用来清理urlretrieve方法产生的缓存,使后面运行得更流畅 ...
  • urllib2 发送HTTP Request

    2018-05-28 10:08:07
    Python自动化测试 (九)urllib2 发送HTTP Requesturllib2 是Python自带的标准模块, 用来发送HTTP Request的。 类似于 .NET中的, HttpWebRequest类urllib2 的优点Python urllib2 发出的HTTP Request, 能自动被...
  • from urllib import request 与 import urllib.request 区别: 粘两段代码就懂了 from urllib import request response = request.urlopen("http://www.baidu.com") print ( response.read() ) import urllib....
  • 蟒蛇中urllib.request.Request()与urllib.request.urlopen()的区别: 相对于urllib.request.urlopen()来说urllib.request.Request是进一步的包装请求,下面是请求类的源码示例: class Request: # 主要...
  • import urllib.request #可以将url先构造成一个Request对象,传进urlopen #Request存在的意义是便于在请求的时候传入一些信息,而urlopen则不 request = urllib.request.Request('http: response = urllib.request....
  • urllib2 是Python自带的标准模块, 用来发送HTTP Request的。 类似于 .NET中的, HttpWebRequest类urllib2 的优点Python urllib2 发出的HTTP Request, 能自动被Fiddler截获, 方便了调试。Python 可以自动处理...
  • urllib.requst使用1.1 基本介绍1.2 urllib.request.urlopen1.3 urllib.request.Request2 urllib.parse 模块使用2.1 urllib.parse.encode()2.2 urllib.parse.quote()的使用2.3 综合练习3 爬虫百度贴...
  • urllib, urllib2是对httplib的高层封装,urllib2可以接受一个Request类的实例来设置URL请求的headers,urllib仅可以接受URL。urllib提供urlencode方法用来GET查询字符串的产生,而urllib2没有。所以urllib常和urllib...
  • urllib.request

    2017-12-07 10:45:58
    在Python3中,urllib2和urllib统一为urllib。Python3 urllib库官方链接 ...urllib中包括了四个模块,包括urllib.request 可以用来发送request和获取request的结果 urllib.error 包含了urllib.request
  • 1 urllib.request模块 1.1 版本 python2 :urllib2、urllib python3 :把urlliburllib2合并,urllib.request 1.2 常⽤的⽅法 urllib.request.urlopen(“⽹址”) 作⽤ :向⽹站发起⼀个请求并获取响应 import urllib...
  • python3: urllib.request urllib.parse (py3整合过了,主要就是导入这两个库) 字符串 == 》二进制之间的转化 encode() 字符串 ==》 二进制(字节类型) decode() 二进制 (字节类型)==》 字符串 ...
  • 使用urllib.request.urlopen()与urllib.request.Request() 获得响应 import urllib.request r = urllib.request.urlopen('https://gzdaily.dayoo.com/pc/html/2020-08/04/content_132879_713872.htm') html = r.read...
  • requestUrllib2使用代理ip的区别
  • 请求网页import urllib.requestf = urllib.request.urlopen('http:www.bing.com')print(f.read().decode('utf-8'))#获取状态码f.getcode()#获取urlf.geturl()#获取meta-infomation,像headersprint(f.info())发送数据...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 22,556
精华内容 9,022
关键字:

requesturllib