Python爬蟲我的梳理(代碼有空寫)

這裏可能是摘抄的,只是用於我的理解。瀏覽器

1。urlopen().read()是爬取網頁的內容,出來多是一堆的源代碼。和咱們右擊網頁查看是同樣的。cookie

2。當用到http請求的時候,
咱們可使用Request將請求的地址url封裝爲一個請求,再用urlopen
發送數據:
有時候你但願發送一些數據到URL(一般URL與CGI[通用網關接口]腳本,或其餘WEB應用程序掛接)。
在HTTP中,這個常常使用熟知的POST請求發送。
這個一般在你提交一個HTML表單時由你的瀏覽器來作。
並非全部的POSTs都來源於表單,你可以使用POST提交任意的數據到你本身的程序。
通常的HTML表單,data須要編碼成標準形式。而後作爲data參數傳到Request對象。
3報頭,假裝成瀏覽器用User-Agent函數

增長報頭有兩個方法,一個是直接就在字典寫,一個是以addheaders的形式增長http://www.jb51.net/article/51941.htmui

4。異常處理
典型的錯誤包含"404"(頁面沒法找到),"403"(請求禁止),和"401"(帶驗證請求)。
5 。handlers 代理
Openers使用處理器handlers,全部的「繁重」工做由handlers處理。
每一個handlers知道如何經過特定協議打開URLs,或者如何處理URL打開時的各個方面。
例如HTTP重定向或者HTTP cookies。編碼

若是你但願用特定處理器獲取URLs你會想建立一個openers,例如獲取一個能處理cookie的opener,或者獲取一個不重定向的opener。url

要建立一個 opener,能夠實例化一個OpenerDirector,
而後調用.add_handler(some_handler_instance)。
一樣,可使用build_opener,這是一個更加方便的函數,用來建立opener對象,他只須要一次函數調用。
build_opener默認添加幾個處理器,但提供快捷的方法來添加或更新默認處理器。
其餘的處理器handlers你或許會但願處理代理,驗證,和其餘經常使用但有點特殊的狀況。.net

install_opener 用來建立(全局)默認opener。這個表示調用urlopen將使用你安裝的opener。
Opener對象有一個open方法。
該方法能夠像urlopen函數那樣直接用來獲取urls:一般沒必要調用install_opener,除了爲了方便。代理

相關文章
相關標籤/搜索