Python urllib模組

來源:互聯網
上載者:User

標籤:ima   encode   arm   filename   gif   tuple   ESS   產生   message   

urllib模組中的方法1.urllib.urlopen(url[,data[,proxies]])

開啟一個url的方法,返回一個檔案對象,然後可以進行類似檔案對象的操作。本例試著開啟google

>>> import urllib>>> f = urllib.urlopen(‘http://www.google.com.hk/‘)>>> firstLine = f.readline()   #讀取html頁面的第一行>>> firstLine‘<!doctype html><html itemscope="" itemtype="http://schema.org/WebPage"><head><meta content="/images/google_favicon_128.png" itemprop="image"><title>Google</title><script>(function(){\n‘

 

urlopen返回對象提供方法:

-         read() , readline() ,readlines() , fileno() , close() :這些方法的使用方式與檔案對象完全一樣

-         info():返回一個httplib.HTTPMessage對象,表示遠程伺服器返回的頭資訊

-         getcode():返回Http狀態代碼。如果是http請求,200請求成功完成;404網址未找到

-         geturl():返回請求的url

 

2.urllib.urlretrieve(url[,filename[,reporthook[,data]]])

urlretrieve方法將url定位到的html檔案下載到你本地的硬碟中。如果不指定filename,則會存為臨時檔案。

urlretrieve()返回一個二元組(filename,mine_hdrs)

臨時存放:

>>> filename = urllib.urlretrieve(‘http://www.google.com.hk/‘)>>> type(filename)<type ‘tuple‘>>>> filename[0]‘/tmp/tmp8eVLjq‘>>> filename[1]<httplib.HTTPMessage instance at 0xb6a363ec>

存為本地檔案:

>>> filename = urllib.urlretrieve(‘http://www.google.com.hk/‘,filename=‘/home/dzhwen/python檔案/Homework/urllib/google.html‘)>>> type(filename)<type ‘tuple‘>>>> filename[0]‘/home/dzhwen/python\xe6\x96\x87\xe4\xbb\xb6/Homework/urllib/google.html‘>>> filename[1]<httplib.HTTPMessage instance at 0xb6e2c38c>

 

3.urllib.urlcleanup()

清除由於urllib.urlretrieve()所產生的緩衝

 

4.urllib.quote(url)和urllib.quote_plus(url)

將url資料擷取之後,並將其編碼,從而適用與URL字串中,使其能被列印和被web伺服器接受。

>>> urllib.quote(‘http://www.baidu.com‘)‘http%3A//www.baidu.com‘>>> urllib.quote_plus(‘http://www.baidu.com‘)‘http%3A%2F%2Fwww.baidu.com‘
5.urllib.unquote(url)和urllib.unquote_plus(url)

與4的函數相反。

6.urllib.urlencode(query)

將URL中的索引值對以串連符&劃分

這裡可以與urlopen結合以實現post方法和get方法:

GET方法:

>>> import urllib>>> params=urllib.urlencode({‘spam‘:1,‘eggs‘:2,‘bacon‘:0})>>> params‘eggs=2&bacon=0&spam=1‘>>> f=urllib.urlopen("http://python.org/query?%s" % params)>>> print f.read()

POST方法:

>>> import urllib>>> parmas = urllib.urlencode({‘spam‘:1,‘eggs‘:2,‘bacon‘:0})>>> f=urllib.urlopen("http://python.org/query",parmas)>>> f.read()

Python urllib模組

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.