python的urllib2庫

import urllib2

  1. urllib2.urlopen([ url ], data, timeout)
url:可以是一個字符串,也可以是一個Request對象
data:提交的參數(shù)
timeout:以秒為單位

A:字符串
response = urllib2.urlopen('http://www.baidu.com')
html = response.read()

B:Request對象
request = urllib2.Request('http://www.baidu.com')
response = urllib2.urlopen(request)
html = response.read()
  1. urllib2.Request([ url ], data, headers, origin_req_host, unverifiable)
data:
  post提交的數(shù)據(jù),數(shù)據(jù)應該是緩存在一個標準的application/x-www-form-urlencode格式中,
  urllib.urlencode()用映射或二元組返回一個這種格式的字符串
  即post發(fā)送的數(shù)據(jù)需要被以標準的格式進行編碼

headers:
  字典類型,也可使用add_header(key, value)方法添加

origin_req_host:
  RFC2965定義的源交互的request-host
  默認的取值是cookielib.request_host(self)
  這是由用戶發(fā)起的原始請求的主機名或ip地址
  例如:
    如果請求的是一個HTML文檔中的圖像,這應該是包含該圖像的頁面請求的request-host

unverifiable:
  代表請求是否是無法驗證的,由RFC2965定義,默認false
  一個無法驗證的請求:
    某用戶的URL沒有足夠的權限來被接受
  例如:
    如果請求的是在HTML文檔中的圖像,但是用戶沒有自動抓取圖像的權限,則該值為true
A:
url = 'http://www.test.com/'
values = {
  'name' : 'Michael Foord',
  'location' : 'Northampton',
  'language' : 'Python'
}
data = urllib.urlencode(values)
req = urllib2.Request(url, data, headers)
response = urllib2.urlopen(req)
html = response.read()

B:
生成Request對象時,已經(jīng)初始化header,可利用add_header支架
req = urllib2.Request(url)
req.add_header('Referer', 'http://python.org/')
response = urllib2.urlopen(req)

C:
opener = urllib2.build_opener()
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
opener.open(url)
  1. urllib2.build_opener 和 urllib2.install_opener
創(chuàng)建opener
opener = urllib2.build_opener()

不調(diào)用urllib2.install_opener 使用open方法
opener.open(url)

調(diào)用urllib2.install_opener后,使用urllib2.urlopen方法
urllib2.install_opener(opener)
urllib2.urlopen(url)
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • urllib2是Python的一個獲取URLs的組件。他以urlopen函數(shù)的形式提供了一個非常簡單的接口,具有利...
    查無此人asdasd閱讀 1,624評論 0 3
  • 一、概述 urllib2是Python的一個針對URLs的庫。他以urlopen函數(shù)的形式提供了一個非常簡單的...
    MiracleJQ閱讀 1,557評論 0 5
  • 1、urlopen函數(shù)urllib2.urlopen(url[, data[, timeout[, cafile[...
    Dotartisan閱讀 8,807評論 0 1
  • 1 前言 作為一名合格的數(shù)據(jù)分析師,其完整的技術知識體系必須貫穿數(shù)據(jù)獲取、數(shù)據(jù)存儲、數(shù)據(jù)提取、數(shù)據(jù)分析、數(shù)據(jù)挖掘、...
    whenif閱讀 18,313評論 45 523
  • 新買了筆袋,找顏色方便多啦,無法控制馬可的筆,一直一直斷,闊怕
    納豆抹茶閱讀 173評論 0 0

友情鏈接更多精彩內(nèi)容