把玩之python爬蟲urllib2

2021-07-13 15:15:35 字數 2092 閱讀 2813

1,什麼是urllib2庫?

urllib2是python的乙個獲取urls的元件,通過urlopen函式的形式來提供了乙個非常簡單的介面,根據不同協議獲取urls的能力,urllib2提供了乙個比較復

雜的介面來處理情況,例如:基礎驗證,cookies,**和其他。

我們分析**:

response=urllib2.urlopen("")

首先,我們呼叫的是urllib2庫中的urlopen方法,傳入了乙個鏈結,協議是http協議,同樣我們可以把http協議換成ftp協議,file,https等,只是代表一》種訪問協議。

urlopen一般接受三個引數:1,url。2,data,即為訪問url時要傳送的資料。3,timeout,即為超時時間。第

二、三個引數可以採用預設,data預設為空,timeout預設為socket._global_default_timeout.第乙個引數必須有的。

print response.read()

response物件有乙個read()方法,用來獲得鏈結網頁中的所有內容。

注意:大多數時候,我們構造request類的例項,傳入上面的urlopen。構造request時需要傳入url,data等等內容。如以上**可以改寫為:

request=urllib2.request("")

response=urllib2.urlopen(request)

print response.read()

目前大多數情況下我們需要在訪問時通過傳遞資料,意識目標網頁做出響應。比如:登入註冊

資料傳遞有兩種方式:post和get

我們知道兩者之間的區別是get是通過鏈結來傳遞資料(引數),而post是隱式的傳遞資料而不通過鏈結傳遞。

post方式:

import urllib

import urllib2

value=

data=urllib.urlencode(value)

request=urllib2.request("",data)

response=urllib2.urlopen(request)

print response.read()

有一些站點不喜歡被程式(非人為訪問)訪問,或者傳送不同版本的內容到不同的瀏覽器上。預設的urllib2把自己作為「python-urllib/x.y」(x和y是python主版本和次版本號)。  這個身份讓站點感到迷惑,或者乾脆不工作。而瀏覽器則不同,瀏覽器確認自己的身份是通過user-agent頭,當你建立乙個請求物件,你就

可以給他乙個包含頭資料的字典。如下:

get方式:

Python標準庫之資料抓取模組urllib

urllib是python內建的http請求庫,它包含四個子模組 request模組,它是最基本的 http 請求模組,我們可以用它來模擬傳送一請求,就像在瀏覽器裡輸入 然後敲擊回車一樣,只需要給庫方法傳入 url 還有額外的引數,就可以模擬實現這個過程了。error模組即異常處理模組,如果出現請求...

Python爬蟲之爬蟲概述

知識點 模擬瀏覽器,傳送請求,獲取響應 網路爬蟲 又被稱為網頁蜘蛛,網路機械人 就是模擬客戶端 主要指瀏覽器 傳送網路請求,接收請求響應,一種按照一定的規則,自動地抓取網際網路資訊的程式。知識點 了解 爬蟲的概念 爬蟲在網際網路世界中有很多的作用,比如 資料採集 抓取招聘 的招聘資訊 資料分析 挖掘...

python爬蟲感悟 Python之爬蟲有感(一)

urllib.request.request url headers headers user agent 是爬蟲和反爬蟲鬥爭的第一步,傳送請求必須帶user agent 使用流程 1 建立請求物件 request urlllib.request.request url 2 傳送請求獲取響應物件 r...