麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Python > 正文

零基礎寫python爬蟲之urllib2使用指南

2020-02-23 06:07:31
字體:
來源:轉載
供稿:網友

前面說到了urllib2的簡單入門,下面整理了一部分urllib2的使用細節。

1.Proxy 的設置

urllib2 默認會使用環境變量 http_proxy 來設置 HTTP Proxy。
如果想在程序中明確控制 Proxy 而不受環境變量的影響,可以使用代理。
新建test14來實現一個簡單的代理Demo:

代碼如下:
import urllib2 
enable_proxy = True 
proxy_handler = urllib2.ProxyHandler({"http" : 'http://some-proxy.com:8080'}) 
null_proxy_handler = urllib2.ProxyHandler({}) 
if enable_proxy: 
    opener = urllib2.build_opener(proxy_handler) 
else: 
    opener = urllib2.build_opener(null_proxy_handler) 
urllib2.install_opener(opener) 

這里要注意的一個細節,使用 urllib2.install_opener() 會設置 urllib2 的全局 opener 。
這樣后面的使用會很方便,但不能做更細致的控制,比如想在程序中使用兩個不同的 Proxy 設置等。
比較好的做法是不使用 install_opener 去更改全局的設置,而只是直接調用 opener 的 open 方法代替全局的 urlopen 方法。

2.Timeout 設置

在老版 Python 中(Python2.6前),urllib2 的 API 并沒有暴露 Timeout 的設置,要設置 Timeout 值,只能更改 Socket 的全局 Timeout 值。

代碼如下:
import urllib2 
import socket 
socket.setdefaulttimeout(10) # 10 秒鐘后超時 
urllib2.socket.setdefaulttimeout(10) # 另一種方式 

在 Python 2.6 以后,超時可以通過 urllib2.urlopen() 的 timeout 參數直接設置。

代碼如下:
import urllib2 
response = urllib2.urlopen('http://www.google.com', timeout=10) 

3.在 HTTP Request 中加入特定的 Header

要加入 header,需要使用 Request 對象:

代碼如下:
import urllib2 
request = urllib2.Request('http://www.baidu.com/') 
request.add_header('User-Agent', 'fake-client') 
response = urllib2.urlopen(request) 
print response.read() 

對有些 header 要特別留意,服務器會針對這些 header 做檢查
User-Agent : 有些服務器或 Proxy 會通過該值來判斷是否是瀏覽器發出的請求
Content-Type : 在使用 REST 接口時,服務器會檢查該值,用來確定 HTTP Body 中的內容該怎樣解析。常見的取值有:
application/xml : 在 XML RPC,如 RESTful/SOAP 調用時使用
application/json : 在 JSON RPC 調用時使用
application/x-www-form-urlencoded : 瀏覽器提交 Web 表單時使用
在使用服務器提供的 RESTful 或 SOAP 服務時, Content-Type 設置錯誤會導致服務器拒絕服務

4.Redirect

urllib2 默認情況下會針對 HTTP 3XX 返回碼自動進行 redirect 動作,無需人工配置。要檢測是否發生了 redirect 動作,只要檢查一下 Response 的 URL 和 Request 的 URL 是否一致就可以了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 爱唯侦察 国产合集 亚洲 | 欧美五月婷婷 | 亚洲国产成人久久成人52 | 欧美精品在线免费观看 | 日本在线视频二区 | 国产瑟瑟视频 | 91看片在线观看视频 | 欧洲成人一区二区 | av噜噜在线 | 日韩精品免费看 | 日本成人二区 | 娇喘视频在线观看 | 国产一区二区三区黄 | 一级免费黄色免费片 | 日韩精品中文字幕一区二区三区 | 欧洲成人av | 婷婷久久综合九色综合色多多蜜臀 | 55夜色66夜色国产精品视频 | 久久亚洲国产午夜精品理论片 | 国产精品久久av | 色偷偷欧美| 多男操一女视频 | 在线1区| 精品亚洲午夜久久久久91 | 国产在线观看一区二区三区 | 亚洲尻逼视频 | 欧美日韩亚洲国产 | 国产瑟瑟视频 | 99国产精品自拍 | 国产18成人免费视频 | 精品国产一区二区三区成人影院 | 一级爱片 | 欧美一级免费高清 | 久久免费激情视频 | 日本精品一二区 | 国产午夜免费视频 | 精品久久久久久国产三级 | 久久91精品国产91久久yfo | 日本精品视频一区二区三区四区 | 成人黄色短视频在线观看 | 91av在线影院 |