Python中使用urllib2防止302跳轉(zhuǎn)的代碼例子
說明:python的urllib2獲取網(wǎng)頁(urlopen)會自動重定向(301,302)。但是,有時(shí)候我們需要獲取302,301頁面的狀態(tài)信息。就必須獲取到轉(zhuǎn)向前的調(diào)試信息。
下面代碼將可以做到避免302重定向到新的網(wǎng)頁
#!/usr/bin/python
# -*- coding: utf-8 -*-
#encoding=utf-8
#Filename:states_code.py
import urllib2
class RedirctHandler(urllib2.HTTPRedirectHandler):
"""docstring for RedirctHandler"""
def http_error_301(self, req, fp, code, msg, headers):
pass
def http_error_302(self, req, fp, code, msg, headers):
pass
def getUnRedirectUrl(url,timeout=10):
req = urllib2.Request(url)
debug_handler = urllib2.HTTPHandler(debuglevel = 1)
opener = urllib2.build_opener(debug_handler, RedirctHandler)
html = None
response = None
try:
response = opener.open(url,timeout=timeout)
html = response.read()
except urllib2.URLError as e:
if hasattr(e, 'code'):
error_info = e.code
elif hasattr(e, 'reason'):
error_info = e.reason
finally:
if response:
response.close()
if html:
return html
else:
return error_info
html = getUnRedirectUrl('http://jb51.net')
print html
- 零基礎(chǔ)寫python爬蟲之urllib2使用指南
- 零基礎(chǔ)寫python爬蟲之urllib2中的兩個(gè)重要概念:Openers和Handlers
- 零基礎(chǔ)寫python爬蟲之使用urllib2組件抓取網(wǎng)頁內(nèi)容
- Python庫urllib與urllib2主要區(qū)別分析
- python中使用urllib2獲取http請求狀態(tài)碼的代碼例子
- python中使用urllib2偽造HTTP報(bào)頭的2個(gè)方法
- python通過urllib2爬網(wǎng)頁上種子下載示例
- Python使用urllib2獲取網(wǎng)絡(luò)資源實(shí)例講解
- Python使用urllib2模塊抓取HTML頁面資源的實(shí)例分享
相關(guān)文章
python GUI庫圖形界面開發(fā)之PyQt5控件QTableWidget詳細(xì)使用方法與屬性
這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5控件QTableWidget詳細(xì)使用方法與屬性,需要的朋友可以參考下2020-02-02
運(yùn)行python提示no module named sklearn的解決方法
這篇文章主要介紹了運(yùn)行python提示no module named sklearn的解決方法,需要的朋友可以參考下2020-11-11
Python判斷字符串是否為字母或者數(shù)字(浮點(diǎn)數(shù))的多種方法
本文給大家?guī)砣N方法基于Python判斷字符串是否為字母或者數(shù)字(浮點(diǎn)數(shù)),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-08-08
Django中多用戶角色和權(quán)限管理的實(shí)現(xiàn)步驟
定義用戶角色模型:首先,定義一個(gè)用戶角色模型,該模型表示不同的用戶角色,例如管理員、普通用戶、編輯等,這篇文章主要介紹了Django中多用戶角色和權(quán)限管理的實(shí)現(xiàn)步驟,需要的朋友可以參考下2024-05-05
python中的位置參數(shù)和關(guān)鍵字參數(shù)詳解
位置參數(shù)和關(guān)鍵字參數(shù)是 Python 中的兩種不同類型的函數(shù)參數(shù)傳遞方式,位置參數(shù)依賴于參數(shù)的位置順序,而關(guān)鍵字參數(shù)通過參數(shù)名傳遞,不受位置影響,本文通過代碼示例給大家詳細(xì)介紹了python中的位置參數(shù)和關(guān)鍵字參數(shù),需要的朋友可以參考下2023-12-12
python使用UDP實(shí)現(xiàn)客戶端和服務(wù)器對話
這篇文章主要為大家介紹了python使用UDP實(shí)現(xiàn)客戶端和服務(wù)器對話示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03

