請求網頁幾個常用庫的用法:

來源:互聯網
上載者:User

標籤:方式   狀態   agent   ons   說明   資訊   5.0   完全   gen   

1、urllib urlopen()方法urllib.urlopen(url[, data[, proxies]]) :建立一個表示遠程url的類檔案對象,然後像本地檔案一樣操作這個類檔案對象來擷取遠端資料。參數url表示遠端資料的路徑,一般是網址;參數data表示以post方式提交到url的資料;參數proxies用於設定代理。urlopen返回 一個類檔案對象,它提供了如下方法:read() , readline() , readlines() , fileno() , close() :這些方法的使用方式與檔案對象完全一樣;info():返回一個httplib.HTTPMessage 對象,表示遠程伺服器返回的頭資訊getcode():返回Http狀態代碼。如果是http請求,200表示請求成功完成;404表示網址未找到urlretrieve()方法直接將遠端資料下載到本地。urllib.urlretrieve(url[, filename[, reporthook[, data]]])參數說明:url:外部或者本地urlfilename:指定了儲存到本地的路徑(如果未指定該參數,urllib會產生一個臨時檔案來儲存資料);reporthook:是一個回呼函數,當串連上伺服器、以及相應的資料區塊傳輸完畢的時候會觸發該回調。我們可以利用這個回呼函數來顯示當前的下載進度。data:指post到伺服器的資料。該方法返回一個包含兩個元素的元組(filename, headers),filename表示儲存到本地的路徑,header表示伺服器的回應標頭。 

 

2、urllib2

urlopen()

用URL=‘’直接開啟無需類比瀏覽器訪問的頁面

不能直接存取的頁面,類比瀏覽器訪問:

request=urllib2.Request(url,headers)定製含有headers的URL請求

r=urllib2.urlopen(request)

print(r.read())

eg:

url = "http://www.qiushibaike.com/"

# 頭部資訊,有些網站需加headers才能訪問headers = {‘User-Agent‘:‘Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0‘}request = urllib2.Request(url = url,headers = headers )# 發送請求、接收資訊response = urllib2.urlopen(request )urllib 、urllib 2在2.x環境下能正常引入,在3.x環境下會報 module ‘urllib‘ has no attribute ‘urlopen‘錯誤3、requests----------------第三方庫,需要下載

requests.get(‘https://www.douban.com/‘)

用URL=‘’直接開啟無需類比瀏覽器訪問的頁面

不能直接存取的頁面,類比瀏覽器訪問:

r =requests.get(url,headers=headers)

print(r.content)

 

請求網頁幾個常用庫的用法:

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.