精华内容
下载资源
问答
  • 一、urllib其它函数前面介绍了 urllib 模块,以及它常用的 urlopen() 和 urlretrieve()函数的使用介绍。当然 urllib 还有一些其它很有用的辅助方法,比如对 url 进行编码、解码等等。辅助方法:1. urllib.quote...

    一、urllib其它函数

    前面介绍了 urllib 模块,以及它常用的 urlopen() 和 urlretrieve()函数的使用介绍。当然 urllib 还有一些其它很有用的辅助方法,比如对 url 进行编码、解码等等。

    辅助方法:

    1. urllib.quote(string[,safe]) : 对字符串进行编码,参数safe指定了不需要编码的字符;

    urllib.unquote(string):  对字符串进行解码;

    2. urllib.urlencode(query[,doseq]): 将dict或都包含两个元素的元组列表转换成url参数。

    例如:

    >>> dict1 = {'name':'baidu','Local':'CD'}

    >>> data = urllib.urlencode(dict1)

    >>> print data

    Local=CD&name=baidu

    3. urllib.pathname2url(path): 将本地path转换成url路径

    urllib.url2pathname(path): 将url路径转换成本地路径

    二、urllib与urllib2的区别:

    urllib 和 urllib2 都是接受URL请求的相关模块,但是提供了不同的功能。两个最显著的不同如下:

    urllib2可以接受一个Request类的实例来设置URL请求的headers,urllib仅可以接受URL。这意味着,你不可以伪装你的User Agent字符串等。

    urllib提供urlencode方法用来GET查询字符串的产生,而urllib2没有。这是为何urllib常和urllib2一起使用的原因。

    三、urllib2常用函数:

    1.urllib2.urlopen()方法

    即可以接受一个字符串型的url 地址或者一个 Request 对象。将打开这个 url 并返回结果为一个像文件对象一样的对象.

    urlopen()是最简单的请求方式,它打开url并返回类文件对象,并且使用该对象可以读取返回的内容。参数url可以是包含url的字符串,也可以是urllib2.request类的实例。data是经过编码的post数据(一般使用urllib.urlencode()来编码)。timeout是可选的超时期(以秒为单位),供所有阻塞操作内部使用。

    常用方法:

    1. read(),readline(),readlines():  以字节字符串形式读取(nbytes个数据、单行、返回一个列表)

    2.getcode():  返回整数形式的HTTP响应代码,比如成功返回200,未找到文件时返回404

    3.info()  :  返回映射对象,该对象带有与url关联的信息,对HTTP来说,返回的服务器响应包含HTTP包头。

    2. urllib2.Request()方法

    语法:Request(url [data,headers [,origin_req_host ,[unverifiable]]]])

    对于比较简单的请求,urlopen()的参数url就是一个代表url的但如果需要执行更复杂的操作,如修改HTTP报头,可以创建Request实例并将其作为url参数。

    新建Request实例。url为url字符串,data是伴随url提交的数据(比如要post的数据)。不过要注意,提供data参数时,它会将HTTP请求从'GET'改为‘POST’。headers是一个字典,包含了可表示HTTP报头的键值映射(即要提交的header中包含的内容)。originreqhost通常是发出请求的主机的名称,如果请求的是无法验证的url(通常是指不是用户直接输入的url,比如加载图像的页面中镶入的url),则后一个参数unverifiable设为TRUE。

    假设Request实例r,其比较重要的方法有下面几个:

    r.add_data(data)向请求添加数据。如果请求是HTTP请求,则方法改为‘POST’。data是向指定url提交的数据,要注意该方法不会将data追教导之前已经设置的任何数据上,而是使用现在的data替换之前的。

    r.add_header(key, val)向请求添加header信息,key是报头名,val是报头值,两个参数都是字符串。

    r.addunredirectedheader(key, val)作用基本同上,但不会添加到重定向请求中。

    r.set_proxy(host, type)准备请求到服务器。使用host替换原来的主机,使用type替换原来的请求类型。

    展开全文
  • urlliburllib是一个包含几个模块来处理请求的库。分别是:urllib.request 发送http请求urllib.error 处理请求过程中,出现的异常。urllib.parse 解析urlurllib.robotparser 解析robots.txt 文件urllib.request...

    urllib包

    urllib是一个包含几个模块来处理请求的库。分别是:

    urllib.request 发送http请求

    urllib.error 处理请求过程中,出现的异常。

    urllib.parse 解析url

    urllib.robotparser 解析robots.txt 文件

    urllib.request

    urllib当中使用最多的模块,涉及请求,响应,浏览器模拟,代理,cookie等功能。

    1. 快速请求

    urlopen返回对象提供一些基本方法:

    read 返回文本数据

    info 服务器返回的头信息

    getcode 状态码

    geturl 请求的url

    request.urlopen(url, data=None, timeout=10)

    #url: 需要打开的网址#data:Post提交的数据#timeout:设置网站的访问超时时间

    from urllib importrequest

    importssl

    #解决某些环境下报

    ssl._create_default_https_context =ssl._create_unverified_context

    url = 'https://www.jianshu.com'

    #返回

    response = request.urlopen(url, data=None, timeout=10)

    #直接用urllib.request模块的urlopen()获取页面,page的数据格式为bytes类型,需要decode()解码,转换成str类型。

    page = response.read().decode('utf-8')

    2.模拟PC浏览器和手机浏览器

    需要添加headers头信息,urlopen不支持,需要使用Request

    PC

    importurllib.request

    url = 'https://www.jianshu.com'

    #增加header

    headers ={

    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.96 Safari/537.36'}

    request = urllib.request.Request(url,headers=headers)

    response =urllib.request.urlopen(request)

    #在urllib里面 判断是get请求还是post请求,就是判断是否提交了data参数

    print(request.get_method())

    >> 输出结果

    GET

    手机

    req = request.Request('http://www.douban.com/')

    req.add_header('User-Agent', 'Mozilla/6.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) '

    'AppleWebKit/536.26 (KHTML, like Gecko) Version/8.0 Mobile/10A5376e Safari/8536.25')

    with request.urlopen(req) as f:

    print('Status:', f.status, f.reason)

    for k, v inf.getheaders():

    print('%s: %s' %(k, v))

    print('Data:', f.read().decode('utf-8'))

    3.Cookie的使用

    客户端用于记录用户身份,维持登录信息

    importhttp.cookiejar, urllib.request

    # 1 创建CookieJar对象

    cookie =http.cookiejar.CookieJar()

    #使用HTTPCookieProcessor创建cookie处理器,

    handler =urllib.request.HTTPCookieProcessor(cookie)

    #构建opener对象

    opener =urllib.request.build_opener(handler)

    #将opener安装为全局

    urllib.request.install_opener(opener)

    data =urllib.request.urlopen(url)

    #2 保存cookie为文本

    importhttp.cookiejar, urllib.request

    filename = "cookie.txt"

    #保存类型有很多种## 类型1

    cookie =http.cookiejar.MozillaCookieJar(filename)

    ## 类型2

    cookie =http.cookiejar.LWPCookieJar(filename)

    #使用相应的方法读取

    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)

    ……

    4.设置代理

    当需要抓取的网站设置了访问限制,这时就需要用到代理来抓取数据。

    importurllib.request

    url = 'http://httpbin.org/ip'proxy = {'http':'39.134.108.89:8080','https':'39.134.108.89:8080'}

    proxies = urllib.request.ProxyHandler(proxy) #创建代理处理器

    opener = urllib.request.build_opener(proxies,urllib.request.HTTPHandler) #创建特定的opener对象

    urllib.request.install_opener(opener) #安装全局的opener 把urlopen也变成特定的opener

    data =urllib.request.urlopen(url)

    print(data.read().decode())

    urllib.error

    urllib.error可以接收有urllib.request产生的异常。urllib.error中常用的有两个方法,URLError和HTTPError。URLError是OSError的一个子类,

    HTTPError是URLError的一个子类,服务器上HTTP的响应会返回一个状态码,根据这个HTTP状态码,我们可以知道我们的访问是否成功。

    URLError

    URLError产生原因一般是:网络无法连接、服务器不存在等。

    例如访问一个不存在的url

    importurllib.error

    importurllib.request

    requset = urllib.request.Request('http://www.usahfkjashfj.com/')

    try:

    urllib.request.urlopen(requset).read()

    excepturllib.error.URLError as e:

    print(e.reason)

    else:

    print('success')

    >>print结果

    [Errno 11004] getaddrinfo failed

    HTTPError

    HTTPError是URLError的子类,在你利用URLopen方法发出一个请求时,服务器上都会对应一个应答对象response,其中他包含一个数字“状态码”,

    例如response是一个重定向,需定位到别的地址获取文档,urllib将对此进行处理。其他不能处理的,URLopen会产生一个HTTPError,对应相应的状态码,

    HTTP状态码表示HTTP协议所返回的响应的状态。

    from urllib importrequest, error

    try:

    response = request.urlopen('http://cuiqingcai.com/index.htm')

    excepterror.URLError as e:

    print(e.reason)

    #先捕获子类错误

    try:

    response = request.urlopen('http://cuiqingcai.com/index.htm')

    excepterror.HTTPError as e:

    print(e.reason, e.code, e.headers, sep='\n')

    excepterror.URLError as e:

    print(e.reason)

    else:

    print('Request Successfully')

    >> print结果

    Not Found

    ------------- Not Found 404 Server: nginx/1.10.3 (Ubuntu) Date: Thu, 08 Feb 2018 14:45:39 GMT Content-Type: text/html; charset=UTF-8 Transfer-Encoding: chunked Connection: close Vary: Cookie Expires: Wed, 11 Jan 1984 05:00:00 GMT

    urllib.parse

    urllib.parse.urljoin 拼接url

    基于一个base URL和另一个URL构造一个绝对URL,url必须为一致站点,否则后面参数会覆盖前面的host

    print(parse.urljoin('https://www.jianshu.com/xyz','FAQ.html'))

    print(parse.urljoin('http://www.baidu.com/about.html','http://www.baidu.com/FAQ.html'))

    >>结果

    https://www.jianshu.com/FAQ.html

    http://www.baidu.com/FAQ.html

    urllib.parse.urlencode 字典转字符串

    from urllib importrequest, parse

    url = r'https://www.jianshu.com/collections/20f7f4031550/mark_viewed.json'headers ={

    'User-Agent': r'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36',

    'Referer': r'https://www.jianshu.com/c/20f7f4031550?utm_medium=index-collections&utm_source=desktop',

    'Connection': 'keep-alive'}

    data ={

    'uuid': '5a9a30b5-3259-4fa0-ab1f-be647dbeb08a',

    }

    #Post的数据必须是bytes或者iterable of bytes,不能是str,因此需要进行encode()编码

    data = parse.urlencode(data).encode('utf-8')

    print(data)

    req = request.Request(url, headers=headers, data=data)

    page =request.urlopen(req).read()

    page = page.decode('utf-8')

    print(page)

    >>结果

    b'uuid=5a9a30b5-3259-4fa0-ab1f-be647dbeb08a'{"message":"success"}

    urllib.parse.quote url编码

    urllib.parse.unquote url解码

    Url的编码格式采用的是ASCII码,而不是Unicode,比如

    from urllib importparse

    x = parse.quote('山西', encoding='gb18030')#encoding='GBK

    print(x) #%C9%BD%CE%F7

    city = parse.unquote('%E5%B1%B1%E8%A5%BF',) #encoding='utf-8'

    print(city) #山西

    urllib3包

    Urllib3是一个功能强大,条理清晰,用于HTTP客户端的Python库,许多Python的原生系统已经开始使用urllib3。Urllib3提供了很多python标准库里所没有的重要特性:

    1.线程安全 2.连接池 3.客户端SSL/TLS验证 4.文件分部编码上传 5.协助处理重复请求和HTTP重定位 6.支持压缩编码 7.支持HTTP和SOCKS代理

    安装:

    Urllib3 能通过pip来安装:

    $pip install urllib3

    你也可以在github上下载最新的源码,解压之后进行安装:

    $git clone git://github.com/shazow/urllib3.git

    $python setup.py install

    urllib3的使用:

    request GET请求

    importurllib3

    importrequests

    #忽略警告:InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised.

    requests.packages.urllib3.disable_warnings()

    #一个PoolManager实例来生成请求, 由该实例对象处理与线程池的连接以及线程安全的所有细节

    http =urllib3.PoolManager()

    #通过request()方法创建一个请求:

    r = http.request('GET', 'http://cuiqingcai.com/')

    print(r.status) #200#获得html源码,utf-8解码

    print(r.data.decode())

    request GET请求(添加数据)

    header ={

    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36'}

    r = http.request('GET',

    'https://www.baidu.com/s?',

    fields={'wd': 'hello'},

    headers=header)

    print(r.status) #200

    print(r.data.decode())

    post请求

    #你还可以通过request()方法向请求(request)中添加一些其他信息,如:

    header ={

    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36'}

    r = http.request('POST',

    'http://httpbin.org/post',

    fields={'hello':'world'},

    headers=header)

    print(r.data.decode())

    #对于POST和PUT请求(request),需要手动对传入数据进行编码,然后加在URL之后:

    encode_arg = urllib.parse.urlencode({'arg': '我的'})

    print(encode_arg.encode())

    r = http.request('POST',

    'http://httpbin.org/post?'+encode_arg,

    headers=header)

    #unicode解码

    print(r.data.decode('unicode_escape'))

    发送json数据

    #JSON:在发起请求时,可以通过定义body 参数并定义headers的Content-Type参数来发送一个已经过编译的JSON数据:

    importjson

    data={'attribute':'value'}

    encode_data=json.dumps(data).encode()

    r = http.request('POST',

    'http://httpbin.org/post',

    body=encode_data,

    headers={'Content-Type':'application/json'}

    )

    print(r.data.decode('unicode_escape'))

    上传文件

    #使用multipart/form-data编码方式上传文件,可以使用和传入Form data数据一样的方法进行,并将文件定义为一个元组的形式     (file_name,file_data):

    with open('1.txt','r+',encoding='UTF-8') as f:

    file_read =f.read()

    r = http.request('POST',

    'http://httpbin.org/post',

    fields={'filefield':('1.txt', file_read, 'text/plain')

    })

    print(r.data.decode('unicode_escape'))

    #二进制文件

    with open('websocket.jpg','rb') as f2:

    binary_read =f2.read()

    r = http.request('POST',

    'http://httpbin.org/post',

    body=binary_read,

    headers={'Content-Type': 'image/jpeg'})

    #

    #print(json.loads(r.data.decode('utf-8'))['data'] )

    print(r.data.decode('utf-8'))

    使用Timeout

    #使用timeout,可以控制请求的运行时间。在一些简单的应用中,可以将timeout参数设置为一个浮点数:

    r = http.request('POST',

    'http://httpbin.org/post',timeout=3.0)

    print(r.data.decode('utf-8'))

    #让所有的request都遵循一个timeout,可以将timeout参数定义在PoolManager中:

    http = urllib3.PoolManager(timeout=3.0)

    对重试和重定向进行控制

    #通过设置retries参数对重试进行控制。Urllib3默认进行3次请求重试,并进行3次方向改变。

    r = http.request('GET',

    'http://httpbin.org/ip',retries=5)#请求重试的次数为5

    print(r.data.decode('utf-8'))

    ##关闭请求重试(retrying request)及重定向(redirect)只要将retries定义为False即可:

    r = http.request('GET',

    'http://httpbin.org/redirect/1',retries=False,redirect=False)

    print('d1',r.data.decode('utf-8'))

    #关闭重定向(redirect)但保持重试(retrying request),将redirect参数定义为False即可

    r = http.request('GET',

    'http://httpbin.org/redirect/1',redirect=False)

    展开全文
  • 我正在尝试使用urllib2来停止,下面是我在stackoverflow上找到的示例:我不明白为什么我会犯错误。以下是我的代码摘录:import urllib2import jsoncontent_header = {'Content-type':'application/json','Accept':'...

    我正在尝试使用urllib2来停止,下面是我在stackoverflow上找到的示例:

    我不明白为什么我会犯错误。

    以下是我的代码摘录:import urllib2

    import json

    content_header = {'Content-type':'application/json',

    'Accept':'application/vnd.error+json,application/json',

    'Accept-Version':'1.0'}

    baseURL = "http://some/put/url/"

    f = open("somefile","r")

    data = json.loads(f.read())

    request = urllib2.Request(url=baseURL, data=json.dumps(jsonObj), headers=content_header)

    request.get_method = lambda: 'PUT' #if I remove this line then the POST works fine.

    response = urllib2.urlopen(request)

    print response.read()

    如果我删除了我试图设置的看跌期权,然后它会发布它的发现,但当我试图设置get_方法为看跌时,它会出错。

    为了确保REST服务不会引起问题,我尝试使用cURL来执行PUT,它运行得很好。

    展开全文
  • 这是我的代码,但它给了我一些我无法解决的错误。...在import urllib2import time#bangalore, boston,chinawith open('urls.txt') as f:urls = [line.strip() for line in f]print "list of url...

    这是我的代码,但它给了我一些我无法解决的错误。即使相同的代码在一个url和一个代理上运行得很好,但是对于proxy和url的文件却没有运行。在import urllib2

    import time

    #bangalore, boston,china

    with open('urls.txt') as f:

    urls = [line.strip() for line in f]

    print "list of urls",urls

    with open('proxies.txt') as proxies:

    for proxy in proxies:

    print proxy

    proxy = proxy.rstrip()

    print proxy

    proxy_handler = urllib2.ProxyHandler(proxy)

    opener = urllib2.build_opener(proxy_handler)

    urllib2.install_opener(opener)

    try:

    for url in urls:

    request=urllib2.Request(url)

    start=time.time()

    try:

    print "from try block"

    response=urllib2.urlopen(urls[0])

    response.read(1)

    ttfb = time.time() - start

    print "Latency:", ttfb

    print "Status Code:", response.code

    print "Headers:", response.headers

    print "Redirected url:", response.url

    except urllib2.URLError as e:

    print "From except"

    print "Error Reason:", e.reason

    print "Error Message:", e.message

    # print "Redirected URL:", e.url

    except urllib2.HTTPError as e:

    print e.reason

    except Exception,e:

    print e

    展开全文
  • 一、urllib、urllib2、urllib3、requestsurllib2python2中的,python3合并了urllib和urllib2到urllib目录下,所以python3直接使用urllib。urllib3是一个三方库,它提供了连接池、客户端SSL/TLS验证、文件编码上传...
  • 尝试调用我的azuremlapi,但urllib有问题。我使用python3+,因此应该使用urllib而不是urllib2...在完整脚本:import urllib2# If you are using Python 3+, import urllib instead of urllib2import jsondata = {"I...
  • 小编刚刚看到了一个现实案例,有个习惯使用urllib2库的小伙伴,在更新python后,却找不到这个内容了,于是咨询小编要怎么才可以去安装这个urllib2,可以让自己继续使用?于是小编翻阅了很多内容资料,发现了一个重要...
  • python3urllib模块

    2021-02-09 15:26:30
    ​3.0版本中已经将urllib2、urlparse、和robotparser并入了urllib中,并且修改urllib模块,其中包含5个子模块,即是help()中看到的那五个名字。为了今后使用方便,在此将每个包中包含的方法列举如下:urllib.error: ...
  • 报错信息:RequestsDependencyWarning: urllib3 (1.26.7) or chardet (3.0.4) doesn’t match a supported version! warnings.warn("urllib3 ({}) or chardet ({}) doesn’t match a supported " 原因:requests和...
  • Python3 安装urllib2包之小坑Python3.6.6或者说python3.x找不到urllib2语法问题修改之后,会报一个没有安装urllib2的包的错误。通过pip install urllib2也会提示找不到包。通过pip3 install urllib2也会提示找不到包...
  • /usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2019/3/11 下午8:33# @Author : liubing# @File : httpMethod.py 定义了http 常用的请求import urllib2import urllibimport socketimport jsonclass ...
  • Pythonurllib2总结

    2021-01-14 04:29:48
    使用Python访问网页主要有三种方式: urllib, urllib2, httpliburllib比较简单,功能相对也比较弱,httplib简单强大,但好像不支持session1. 最简单的页面访问res=urllib2.urlopen(url)print res.read()2. 加上要get...
  • 最近要用 Python 模拟表单上传文件,搜索了一下常见的解决方案。如果只是要模拟提交一个不包含文件字段的表单,实现起来是很简单的,但涉及到文件上传就有一点小复杂,需要自己对文件进行编码,或者使用第三方模块。...
  • Python urllib user_agent

    2021-01-14 06:32:46
    Python urllib user_agent如果默认不更改Pythonurllib user_agent,则user_agent的字符串是:[19/Apr/2020:10:02:44 +0800] "GET / HTTP/1.1" 200 47657 "-" "Python-urllib/3.7"这里摘录的是Nginx的日志文件,...
  • 我正在尝试从发送POST请求中获取HTML页面:import httplibimport urllibimport urllib2from BeautifulSoup import BeautifulSoupheaders = {'Host': 'digitalvita.pitt.edu','Connection': 'keep-alive','Content-...
  • Python urllib3模块详解

    2021-05-18 16:34:17
    Urllib3提供了很多python标准库里所没有的重要特性:  1、线程安全  2、连接池  3、客户端SSL/TLS验证  4、文件分部编码上传  5、协助处理重复请求和HTTP重定位  6、支持压缩编码  7、支持HTTP和SOCKS...
  • 在getheadersonly的每个请求上,您都安装一个新的全局urlopener,该URL随后将用于urllib2.urlopen>您进行两个HTTP请求以获取响应的两个不同属性.> urllib2.HTTPRedirectHandler.http_error_302的实现并不那么...
  • python urllib2介绍

    2021-02-10 20:34:44
    urllib2Python的一个获取URLs(Uniform Resource Locators)的组件。他以urlopen函数的形式提供了一个非常简单的接口,这是具有利用不同协议获取URLs的能力,他同样提供了一个比较复杂的接口来处理一般情况,例如:...
  • python urllib2 utf-8编码

    2021-07-16 15:17:48
    okay, I have: # -*- coding: utf-8 -*- in my python file.the snippet:opener = urllib2.build_opener()opener.addheaders = [('User-agent', 'Mozilla/5.0')]opener.addheaders = [('Accept-Charset', 'utf-8')]f...
  • /user/bin/evn python# coding=utf-8__author__ = 'phc'#请求百度的主页,显示返回的信息,将服务器答复的数据保存到baidu.txtimport urllib.request # 在python 3 .x中,urllib2被更改为urllib.requestimport time,...
  • python3.6想使用urllib2包怎么办

    千次阅读 2021-02-09 16:16:08
    Python3.6.6或者说python3.x找不到urllib2语法问题修改之后,会报一个没有安装urllib2的包的错误。通过pip install urllib2也会提示找不到包。(推荐学习:Python视频教程)通过pip3 install urllib2也会提示找不到包...
  • 详解python urllib2用法

    2020-12-22 12:09:59
    urllib2Python的一个获取URLs(Uniform Resource Locators)的组件。他以urlopen函数的形式提供了一个非常简单的接口,这是具有利用不同协议获取URLs的能力,他同样提供了一个比较复杂的接口来处理一般情况,例如:...
  • python urllib是什么模块

    2021-03-17 14:39:36
    为什么我下载的Python3.6,urllib包里面没有urlope为什么我下载的Python3.6,urllib包里面没有urlopen方法import urllib2因为在python3整合了python2的代码和模块工具。在python3中,不再有urllib,urllib2等模块,...
  • python2 urllib2 发送post 请求和get 请求 代码如下: import urllib2 user_agent = ("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 ...
  • Python模拟新浪微博登录看到一篇Python模拟新浪微博登录的文章,想熟悉一下其中实现方式,并且顺便掌握python相关知识点。代码下面的代码是来自上面这篇...文章雨客2016-04-083030浏览量pythonurllib2库的基本使用...
  • opener = urllib2.build_opener(MyHTTPRedirectHandler, cookieprocessor) urllib2.install_opener(opener) opener.addheaders = [('User-agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.1.5) Gecko...
  • urllib2.urlopen()函数不支持验证、cookie或者其它HTTP高级功能。要支持这些功能,必须使用build_opener()函数创建自定义Opener对象。代码如下:build_opener([handler1 [ handler2, ... ]])参数handler是Handler实例...
  • 目录网络库urllib3网络请求GET请求POST请求HTTP响应头 网络库urllib3 urllib3是比urllib库更强大的存在,目前已经有...因为urllib3并不是Python的标准库,所以我们使用之前,需要进行下载安装,具体命令如下所示: p
  • 一个项目遇到302,需要处理cookie并且...class MyRedirectHandler(urllib2.HTTPRedirectHandler): #自定义跳转类class retval: #兼容数据获取def __init__(self):self.newurl = ”self.httpcode = 0self.headers = ...
  • I would like to make a POST request to upload a file to a web service (and get response) using python. For example, I can do the following POST request with curl:curl -F "file=@style.css" -F output=js...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 125,541
精华内容 50,216
关键字:

3pythonurllib2

python 订阅