精华内容
下载资源
问答
  • urllib库与requests库

    2019-12-04 11:49:57
    同样是爬某网站的商品标题 urllib url=...import urllib.request headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chro...

    同样是爬某网站的商品标题

    urllib

    url="http://category.dangdang.com/pg1-cid4008154.html"
    import urllib.request
    headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.22 Safari/537.36 SE 2.X MetaSr 1.0",
            "Content-Type":"application/javascript",
             }
      ##############################################################
    opener=urllib.request.build_opener()
    headall=[]
    for key,value in headers.items():
        item=(key,value)
        headall.append(item)
    opener.addheaders=headall
    urllib.request.install_opener(opener) 
    data=urllib.request.urlopen(url).read().decode("gbk")
      ##############################################################
    from lxml import etree
    html = etree.HTML(data)
    href_list = html.xpath("//a[@name='itemlist-picture']/@title")
    href_list
    

    requests

    url="http://category.dangdang.com/pg1-cid4008154.html"
    import requests
    headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.22 Safari/537.36 SE 2.X MetaSr 1.0",
            "Content-Type":"application/javascript",
             }
      ##############################################################
    r=requests.get(url,headers=headers)
    html = r.content.decode('gbk')
      ##############################################################
    from lxml import etree
    html = etree.HTML(html)
    href_list = html.xpath("//a[@name='itemlist-picture']/@title")
    href_list[0:10]
    

    输出

    [' Lily冬粉紫韩版直筒中长款双面呢大衣羊毛大衣女',
     ' Lily春秋新款女装纯色直筒毛呢大衣中长款毛呢大衣117410F1556',
     ' 【1件3折!限时购!到手价:126元】裂帛2019春新款时尚圆领绣花休闲甜美风清新韩版学生长袖卫衣女',
     ' 【到手价449元】加厚女羽绒面包服秋冬季新款韩版学生小棉袄短款外套棉衣',
     ' 【到手价299元】百搭羊羔毛外套女新款小个子呢子韩版短款毛呢外套女学生',
     ' 【2.5折价:79.75元/叠加40元券】茵曼秋装新款连帽印花抽绳宽松休闲运动长袖卫衣女【1883082079】',
     ' Lily春新款女装商务通勤OL深宝蓝拉链毛呢外套117420F1543',
     ' 【领券下单立减120元】Amii韩版ins高领加厚加绒卫衣女2019秋冬新款宽松印花长袖上衣',
     ' 【明星同款】Lily2018冬新款直筒人字纹双面呢长款大衣118419F1901',
     ' 【到手价149元】长袖运动服女新款韩版学生宽松时尚bf短款拉夏贝尔情侣外套']
    
    展开全文
  • 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)
    

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

    展开全文
  • 一、认识requests和urllib工具 二、urllib的具体使用 1.urllibrequest模块的urlopen方法可以发送http请求,具体使用: 2.使用response.read()可以获得响应体的内容,具体使用: 3.设置请求头部信息:headers...

     

    目录

    一、认识requests和urllib工具库

    二、urllib的具体使用

    1.urllib的request模块的urlopen方法可以发送http请求,具体使用:

    2.使用response.read()可以获得响应体的内容,具体使用:

    3.设置请求头部信息:headers

    4.设置代理访问:ProxyHandler(防止ip被封)

    5.携带cookie访问(HTTPCookiProcessor)

    6.异常处理

    7.URL解析

    8.urljoin

    9.urlencode


    一、认识requests和urllib工具库

    `urllib是python标准库,就是你安装了python,这个库就已经可以直接使用了。由于urllib只能接收一个url地址而不支持请求的headers操作,所以官方又推出了urllib2,urllib2.urlopen可以接受一个Request对象或者url,但是urllib有urlencode()方法,将字典参数编码成我们想要的请求参数。所以urllib和urllib2经常混用。不过不用担心,python3里,已经合并成了urllib,不存在urllib2了,使用起来更加方便。urllib包含四大模块:request(请求)、error(异常处理)、prse(url解析,拼接,合并,编码)、robotparser(解析robots.txt文件)。

    `requests是第三方库,需要独立安装:pip install requests。requests是基于urllib编写的,并且使用起来非常方便,个人推荐使用requests。

    二、urllib的具体使用

    1.urllib的request模块的urlopen方法可以发送http请求,具体使用:

    #1.最基本的打开网页

    response = urllib.request.urlopen(url,data=None,[timeout,],,)

    参数解释:url代表目标网址,data代表请求携带的参数有data就是post,不添加就是get请求,timeout是设置超时时间。

     

    2.使用response.read()可以获得响应体的内容,具体使用:

    # 1.直接将整个页面以二进制格式返回
    print(response.read())
    # 2.返回得是二进制格式得页面中得第一行
    print(response.readline())
    # 3.以二进制格式 返回所有得数据 以列表格式保存
    print(response.readlines())
    # 4.获取状态码 --200 代表得是服务器响应成功  我们测试得习惯上加这行代码 判断是否成功返回
    print(response.getcode())
    # 5.获取响应头
    print(response.getheaders())
    # 6.获取url
    print(response.geturl())
     

    3.设置请求头部信息:headers


    方式一:构建请求对象时添加。代码示例:

    #请求地址
    url = 'www.baidu.com'
    #设置请求头
    headers = {
              'User-Agent': 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)',
              'Host': 'httpbin.org'
              }
    #设置请求参数
    dict = {
             'name': 'zhaofan'
           }
    #参数转化
    data = bytes(parse.urlencode(dict), encoding='utf8')
    #构建一个请求对象
    req = request.Request(url=url, data=data, headers=headers, method='POST')
    #发送请求
    response = request.urlopen(req)
    #打印相应内容
    print(response.read().decode('utf-8'))

    方式二:构建请求对象后,使用add_header添加。示例代码:

    from urllib import request, parse
    #
    url = 'www.baidu.com'
    #请求参数
    dict = {
        'name': 'Germey'
    }
    #请求参数转义
    data = bytes(parse.urlencode(dict), encoding='utf8')
    #构建请求对象
    req = request.Request(url=url, data=data, method='POST')
    #添加请求头
    req.add_header('User-Agent', 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)')
    response = request.urlopen(req)
    print(response.read().decode('utf-8'))

    4.设置代理访问:ProxyHandler(防止ip被封)

    实例代码:

    import urllib.request
    
    #设置代理
    proxy_handler = urllib.request.ProxyHandler({
        'http': 'http://127.0.0.1:9743',
        'https': 'https://127.0.0.1:9743'
    })
    #请求时使用代理
    '''这里创建一般的opener获取网页内容,
    之前的urlopen,它是一个特殊的opener,
    可以理解成opener的一个特殊实例,传入的参数仅仅是url,data,timeout'''
    opener = urllib.request.build_opener(proxy_handler)
    #访问
    response = opener.open('www.baidu.com')
    print(response.read())

    5.携带cookie访问(HTTPCookiProcessor)

    解释cookie:某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)

    这里要用到cookiejar模块,它的主要作用是提供可存储cookie的对象。

    CookieJar类的对象来捕获cookie并在后续连接请求时重新发送,比如可以实现模拟登录功能。该模块主要的对象有CookieJar、FileCookieJar、MozillaCookieJar、LWPCookieJar。

    它们的关系:CookieJar —-派生—->FileCookieJar  —-派生—–>MozillaCookieJar和LWPCookieJar

    1).存储cookie到变量

    from urllib import request
    from urllib import parse
    from http import cookiejar
    
    #声明一个CookieJar对象实例来保存cookie
    cookie = cookiejar.CookieJar()
    #利用urllib库中的request的HTTPCookieProcessor对象来创建cookie处理器
    handler=request.HTTPCookieProcessor(cookie)
    #通过handler来构建opener
    opener = request.build_opener(handler)
    #此处的open方法同urllib的urlopen方法,也可以传入request
    response = opener.open('http://www.baidu.com')
    for item in cookie:
        print ('Name = '+item.name)
        print ('Value = '+item.value)
    

    2).存储cookie到文件

    有两种方法:http.cookiejar.MozillaCookieJar()、http.cookiejar.LWPCookieJar(),都用来处理 Cookie 和文件相关的事件(即保存和读取cookie)

    MozillaCookieJar方式:

    import http.cookiejar, urllib.request
    #文件名
    filename = "cookie.txt"
    cookie = http.cookiejar.MozillaCookieJar(filename)
    handler = urllib.request.HTTPCookieProcessor(cookie)
    opener = urllib.request.build_opener(handler)
    response = opener.open('http://www.baidu.com')
    #保存cookie
    '''
    可以看到有两个参数:
    ignore_discard意思是即使cookies将被丢弃也将它保存下来
    ignore_expires意思是如果cookies已经过期也将它保存并且文件已存在时将覆盖
    这里我们都设置成true
    '''
    cookie.save(ignore_discard=True, ignore_expires=True)

    LWPCookieJar方式:

    import http.cookiejar, urllib.request
    filename = 'cookie.txt'
    cookie = http.cookiejar.LWPCookieJar(filename)
    handler = urllib.request.HTTPCookieProcessor(cookie)
    opener = urllib.request.build_opener(handler)
    response = opener.open('http://www.baidu.com')
    cookie.save(ignore_discard=True, ignore_expires=True)

    3).从文件中取cookie

    import http.cookiejar, urllib.request
    cookie = http.cookiejar.LWPCookieJar()
    cookie.load('cookie.txt', ignore_discard=True, ignore_expires=True)
    handler = urllib.request.HTTPCookieProcessor(cookie)
    opener = urllib.request.build_opener(handler)
    response = opener.open('http://www.baidu.com')
    print(response.read().decode('utf-8'))

    6.异常处理

    访问网页有时候会出现403、404、500等错误,爬虫也是如此,毕竟要访问网页嘛。这里需要我们捕捉下来方便排查原因。

    捕捉异常示例:

    #需要导入error模块
    from urllib import request,error
    
    try:
        response = request.urlopen("http://www.ahkjfhaskjfhaskj.com")
    except error.URLError as e:
        #打印异常
        print(e.reason)
    

    上面的网址是不存在的,我们可以用URLError.reaason打印错误信息。但是URLError只有一个属性reason用来打印错误信息,想获得更多错误信息详情可以使用HTTPError,他是URLError的子类,HTTPError里有三个属性:code,reason,headers,即抓异常的时候可以获得code,reson,headers三个信息。

    HTTPError捕捉异常示例:

    from urllib import request,error
    try:
        response = request.urlopen("http://soghsekghds.com")
    except error.HTTPError as e:
        #异常信息
        print(e.reason)
        #错误码
        print(e.code)
        #头信息
        print(e.headers)
    
    '''
    #还可以深入判断一下,socketTimeOut:指客户端和服务进行数据交互的时间
    #isinstance判断是不是同一种类型,e.reason和socket.timeout类型一致时,判定是超时错误
    if isinstance(e.reason,socket.timeout):
            print("time out")
    '''
    
    #异常可以同时捕捉
    except error.URLError as e:
        print(e.reason)
    else:
        print("reqeust successfully")

    7.URL解析

    1).urlparse

    官方解释:

    The URL parsing functions focus on splitting a URL string into its components, or on combining URL components into a URL string.

    URL解析函数的重点是将URL字符串拆分为其组件,或将URL组件组合为URL字符串。

    说白了就是地址拆分,域名参数啥的分开,示例:

    from urllib.parse import urlparse
    
    result = urlparse("http://www.baidu.com/index.html;user?id=5#comment")
    #还可以加上,scheme="https"指定协议,但是如果url已经带了协议,scheme指定的协议就不会生效
    #result = urlparse("http://www.baidu.com/index.html;user?id=5#comment",scheme="https")
    print(result)

    打印结果:

    ParseResult(scheme='http', netloc='www.baidu.com', path='/index.html', params='user', query='id=5', fragment='comment')

    可以看到协议、网址、域名、参数等很好的分开来。

    1).urlunpars

    猜一下就是功能和urlparse的功能相反?其实就是,它是用于拼接

    示例:

    from urllib.parse import urlunparse
    
    data = ['http','www.baidu.com','index.html','user','a=123','commit']
    print(urlunparse(data))

    打印结果:

    http://www.baidu.com/index.html;user?a=123#commit
     

    完美的拼接成了url~

    8.urljoin

    这是也是用于地址拼接,不过不同于上面的urlunpars,urljoin主要用于url后缀拼接

    示例:

    
    from urllib.parse import urljoin
    
    print(urljoin('http://www.baidu.com', 'FAQ.html'))
    print(urljoin('http://www.baidu.com', 'https://pythonsite.com/FAQ.html'))
    print(urljoin('http://www.baidu.com/about.html', 'https://pythonsite.com/FAQ.html'))
    print(urljoin('http://www.baidu.com/about.html', 'https://pythonsite.com/FAQ.html?question=2'))
    print(urljoin('http://www.baidu.com?wd=abc', 'https://pythonsite.com/index.php'))
    print(urljoin('http://www.baidu.com', '?category=2#comment'))
    print(urljoin('www.baidu.com', '?category=2#comment'))
    print(urljoin('www.baidu.com#comment', '?category=2'))

    打印结果:

    http://www.baidu.com/FAQ.html
    https://pythonsite.com/FAQ.html
    https://pythonsite.com/FAQ.html
    https://pythonsite.com/FAQ.html?question=2
    https://pythonsite.com/index.php
    http://www.baidu.com?category=2#comment
    www.baidu.com?category=2#comment
    www.baidu.com?category=2

    可以看出明显第二个参数的优先级高于第一个url参数。

    9.urlencode

    这是可以将字典转换为url参数

    示例:

    from urllib.parse import urlencode
    
    params = {
        "name":"hanson",
        "age":123,
    }
    base_url = "http://www.baidu.com?"
    
    url = base_url+urlencode(params)
    print(url)

    打印结果:

    http://www.baidu.com?name=hanson&age=123

    可以看出urlencode将字典参数转化为了url参数。

    以下就是urllib的基本使用以及示例,感谢前辈们的分享支持,站在巨人的肩膀上才可以看得更远!有问题可以共同探讨~叶知秋继续努力~

     

     

     

     

    展开全文
  • 【Python爬虫】requests与urllib库的区别

    万次阅读 多人点赞 2018-12-30 16:14:50
    我们在使用python爬虫时,需要模拟发起网络请求,主要用到的库有requests库和python内置的urllib库,一般建议使用requests,它是对urllib的再次封装,它们使用的主要区别: requests可以直接构建常用的get和post请求...

    我们在使用python爬虫时,需要模拟发起网络请求,主要用到的库有requests库和python内置的urllib库,一般建议使用requests,它是对urllib的再次封装,它们使用的主要区别:
    requests可以直接构建常用的get和post请求并发起,urllib一般要先构建get或者post请求,然后再发起请求。

    import requests
    
    Response_get = requests.get(url, params=None, **kwargs)
    Response_post = requests.post(url, data=None, json=None, **kwargs)

    上面请求后得到的是requests.models.Response对象,需要处理后才能得到我们需要的信息
    Response_get.text 得到的是str类型
    Response_get.content 得到的是bytes类型,需要进行解码Response_get.content.decode(),相当于Response_get.text
    Response_get.json() 得到的是JSON数据类型

    一般我们最简单的get请求是requests.get(url),但是我们可以对请求进行定制,比如requests.get(url,headers=headers)
    headers里面可以定制User-Agent和cookie
    简单的post请求是requests.post(url),我们也可以requests.post(url,data),其中data可以是列表,字典,JSON等类型

    import urllib.request
    
    req = urllib.request.Request(self, url, data=None, headers={},origin_req_host=None,unverifiable=False,method=None)
    Response_request = urllib.request.urlopen(req)
    Response = urllib.request.urlopen(url, data=None, timeout=1, cafile=None, capath=None, cadefault=False, context=None)

    urllib.request 模块提供了最基本的构造 HTTP 请求的方法,利用它可以模拟浏览器的一个请求发起过程。
    # 同时它还带有处理 authenticaton (授权验证), redirections (重定向), cookies (浏览器Cookies)以及其它内容。
    # context 参数,它必须是 ssl.SSLContext 类型,用来指定 SSL 设置。cafile 和 capath 两个参数是指定CA证书和它的路径,这个在请求 HTTPS 链接时会有用。
    # cadefault 参数现在已经弃用了,默认为 False 。
    # 它是一个 HTTPResposne 类型的对象,它主要包含的方法有 read() 、 readinto() 、getheader(name) 、 getheaders() 、 fileno() 等函数
    # 和 msg 、 version 、 status 、 reason 、 debuglevel 、 closed 等属性。 得到这个对象之后,赋值为 response ,
    # 然后就可以用 response 调用这些方法和属性,得到返回结果的一系列信息。
    # 例如 response.read() 就可以得到返回的网页内容, response.status 就可以得到返回结果的状态码,如200代表请求成功,404代表网页未找到等。

    简单的get请求是urllib.request.urlopen(url),其中url可以是一个链接,也可以是一个请求,
    所以我们定制请求头需要通过urllib.request.Request(url,headers=headers)进行定制,然后当成url传入到request.urlopen()

    下面是两个库的简单使用方法:

    import requests
    import urllib.request
    
    
    url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
    api ='http://open.iciba.com/dsapi/'
    headers = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0'
        }
    form_data = {
        "i": "word",
        "from": "AUTO",
        "to": "AUTO",
        "smartresult": "dict",
        "doctype": "json",
        "version": "2.1",
        "keyfrom": "fanyi.web",
        "action": "FY_BY_REALTIME",
        "typoResult": "false"
    }
    
    
    req1 = requests.get(url,headers=headers)
    req_api = requests.get(api,headers=headers)
    print(type(req1),type(req1.text),req1.text)              # requests.get().text是str类型
    print("字符串",type(req1.content),req1.content)           # requests.get().content是bytes类型
    print("与直接req1.text一致",req1.content.decode())
    print("接口返回json格式",req_api.json())                  # 接口返回格式需要用requests.get().json()
    
    
    # POST发送的data必须为bytes或bytes类型的可迭代对象,不能是字符串
    form_data = urllib.parse.urlencode(form_data).encode()
    # urllib.request.Request()只是一个请求:
    req2 = urllib.request.Request(url,data=form_data,headers=headers)
    print(type(req2))
    
    
    req3 = urllib.request.urlopen(url)      # 不可以伪装你的User Agent,可以通过urllib.request.Request()伪装
    print(type(req3),req3.status)           # http.client.HTTPResponse
    print(req3.getheaders())                # 响应的信息集合
    print(req3.read().decode("utf-8"))      # urllib.request.urlopen().read().decode("utf-8")相当于requests.get().text
    
    req4 = urllib.request.urlopen(req2)     # 参数可以直接是一个请求
    print("直接一个请求:",req4.read().decode("utf-8"))

     

    展开全文
  • 刚刚接触爬虫,基础的东西得时时回顾才行,这么全面的帖子无论如何也得厚着脸皮转过来啊!...urllib 模块提供的上层接口,使访问 www ftp 上的数据就像访问本地文件一样。 有以下几种模块:...
  • requests库urllib.request库的对比: requests库中的get请求或其他方式的请求 import requests url = "https://www.baidu.com/s" params = "wd=中国" # 查询字符串的方式,不需要像urllib那样还要进行url编码,...
  • 在python2中有urllib库和urllib2库来实现请求的发送,但在python3后统一为urllib库,由于urllib库是Python内置库,所以不需要额外安装下载。 request:最基本的HTTP請求模塊,用來模拟发送请求(如:在瀏覽器輸入網址...
  • urllib库源文件中request中导入的依赖库 废话不多说,直接上图: 上图为urllib库引入的库文件,
  • urllib库 模拟浏览器发送请求的库,python自带。 python2:urllib urllib2 python3: urllib.request urllib.parse (py3整合过了,主要就是导入这两个库) 字符串 == 》二进制之间的转化 encode() 字符串 ==》 ...
  • urllib 模块提供的上层接口,使访问 www ftp 上的数据就像访问本地文件一样。 有以下几种模块: 1.urllib.request 请求模块 2. urllib.error 异常处理模块 3. urllib.parse url 解析模块 4. urllib.robotparser ...
  • Python3 urllib.request库的基本使用

    千次阅读 2018-05-14 10:10:00
    Python3 urllib.request库的基本使用 所谓网页抓取,就是把URL地址中指定的网络资源从网络流中读取出来,保存到本地。 在Python中有很多库可以用来抓取网页,我们先学习urllib.request库urllib.request库 是 ...
  • python小白群交流:861480019 ...注意,申请时说明加入原因,另外这个群都是一群我一样的小白,大家谁也不说谁,共同进步(ps:写这个文章时,只有我一人) --------------------- 本文来自 silents1991 的CSDN 博...
  • urllib库 requests库 环境:Anaconda3(python3.5) urllib库 使用urllib构建一个请求响应模型 import urllib strUrl="https://www.baidu.com/" response=...
  • 立即学习:...解决封IP问题 ...常用代理: ... import urllib.request as ur\nurl='http://httpbin.org/ip' #传入代理,构建一个handler handler = ur.ProxyHandl
  • 一、urllib.request 请求模块: urllib.request 模块提供了最基本的构造 HTTP (或其他协议如 FTP)请求的方法,利用它可以模拟浏览器的一个请求发起过程。利用不同的协议去获取 URL 信息。它的某些接口能够处理...
  • urllib和request的区别总结

    万次阅读 2018-03-13 17:01:28
    urllib and urllib2 区别–博主...urllib和urllib2模块都做与请求URL相关的操作,但他们提供不同的功能。 urllib2.urlopen accepts an instance of the Request class or a url, (whereas urllib.urlopen only acc...
  • 在Python3中,有urllib库来实现请求的发送(将Python2中的urllib2已经统一至urllib库中)。 对于urllib库的疑问可以参照官网说明了解:https://docs.python.org/3/library/urllib.html urllib库 urllib库是python...
  • 目录1. 模块介绍1.1 简介1.2 区别:requests模块2. requests模块使用2.1 urlopen函数2.2 1. 模块介绍 1.1 简介  urllib是python内置的HTTP请求....(1)urllib.request 请求模块 ... requests和request是两个
  • from urllib import request 与 import urllib.request 区别: 粘两段代码就懂了 from urllib import request response = request.urlopen("http://www.baidu.com") print ( response.read() ) import urllib....
  • 文章更新于:2020-03-02注:代码来自老师授课用样例。...二、实践 urllib 库1、爬取页面并输出'''初识urllib库,如何使用urllib库爬取一个网页1、导入urllib.request模块2、使用urllib.request.ur...
  • 使用urllib.request库获取cookie登录一 、使用手动添加cookie的方式来获取页面二、使用 cookiejar 自动获取登录后获得的cookie 一 、使用手动添加cookie的方式来获取页面 要获取的是页面 xxx.com/member/ 的内容,这...
  • Cookie 是指某些网站服务器为了辨别用户身份进行Session跟踪,而储存在用户浏览器上的文本文件,Cookie可以保持登录信息到用户下次与服务器的会话。 Cookie原理 HTTP是无状态的面向连接的协议, 为了保持连接状态...
  • urllib库request模块中各种Handler的用法总结如下:# !/usr/bin/env python # -*- coding:utf-8 -*- """ HTTPHandler HTTPBasicAuthHandler ProxyHandler ProxyBasicAuthHandler HTTPCookieProcessor """ import ...
  • urllib.request 模块定义了适用于在各种...使用标准中的urllib.request.urlopen(url,data = None,[ timeout,] *,cafile = None,capath = None,cadefault = False,context = None )方法。该方法参数简介如下
  • urllib导入和urllib.request区别

    千次阅读 2018-06-10 10:24:41
    在Python2版本中,有urllib和urlib2两个可以用来实现request的发送。而在Python3中,已经不存在urllib2这个了,统一为urllib。变化:在Pytho2.x中使用import urllib2——-对应的,在Python3.x中会使用import ...
  • 在Python 3以后的版本中,urllib2这个模块已经不单独存在,urllib2被合并到了urllib中,叫做urllib.request urllib.error urllib整个模块分为urllib.requesturllib.parse,urllib.error。 例: 其中urllib2....
  • 最近简单学习了一点爬虫,为此做一个小的总结,还望批评指正...from urllib.request import urlopen BeautifulSoup4 from bs4 import BeautifulSoup 存储数据到MySQL 通过pip安装pymysql pip install pymysql 通过
  • Python urllib库

    2018-06-26 13:18:44
    转自:https://blog.csdn.net/bo_mask/article/details/76067790使用urllib在Python2版本中,有urlliburlib2两个库可以用来实现...Python3 urllib库官方链接 Python3 urllib官方链接urllib中包括了四个模块...
  • urllib库详解

    2019-01-07 23:48:57
    urllib是Python中自带的内建模块,提供了一系列用于操作URL的功能。 urlopen(url,data=None,[timeout,]*,cafile=None,capath=None,cadefault=False,context=None) ...from urllib import request response= reques...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 22,320
精华内容 8,928
关键字:

urllib库和request库