python 爬蟲2 Urllib庫的高階用法

2022-06-13 18:36:09 字數 1715 閱讀 6640

有些**不會同意程式直接用上面的方式進行訪問,如果識別有問題,那麼站點根本不會響應,所以為了完全模擬瀏覽器的工作,我們需要設定一些headers 的屬性。

import

urllib

import

urllib2

url = '

'user_agent = '

mozilla/4.0 (compatible; msie 5.5; windows nt)

'values =

headers =

data =urllib.urlencode(values)

request =urllib2.request(url, data, headers)

response =urllib2.urlopen(request)

page = response.read()

另外,我們還有對付」反盜鏈」的方式,對付防盜煉,伺服器會識別headers中的referer是不是它自己,如果不是,有的伺服器不會響應,所以我們還可以在headers中加入referer

headers =

urllib2 缺省會使用環境變數 http_proxy 來設定 http proxy。假如乙個**它會檢測某一段時間某個ip 的訪問次數,如果訪問次數過多,它會禁止你的訪問。所以你可以設定一些**伺服器來幫助你做工作,每隔一段時間換乙個**,**君都不知道是誰在搗鬼了,這酸爽!

下面一段**說明了**的設定用法

import

urllib2

enable_proxy =true

proxy_handler = urllib2.proxyhandler()

null_proxy_handler =urllib2.proxyhandler({})

ifenable_proxy:

opener =urllib2.build_opener(proxy_handler)

else

: opener =urllib2.build_opener(null_proxy_handler)

urllib2.install_opener(opener)

例如下面的**,如果第二個引數data為空那麼要特別指定是timeout是多少,寫明形參,如果data已經傳入,則不必宣告。

import

urllib2

response = urllib2.urlopen('

', timeout=10)

//response = urllib2.urlopen('

',data, 10)

可以通過下面的方法把 debug log 開啟,這樣收發包的內容就會在螢幕上列印出來,方便除錯,這個也不太常用,僅提一下

Python爬蟲之urllib模組2

python爬蟲之urllib模組2 pg 55,乙個待畢業待就業的二流大學生。看了一下上一節的反饋,有些同學認為這個沒什麼意義,也有的同學覺得太簡單,關於 beautifulsoup 和lxml 獲取後面的鏈結我們能不能如法炮製呢,我們先來試試。我們把 寫成下面那樣 然後我們現在來試試 結果我們發...

把玩之python爬蟲urllib2

1,什麼是urllib2庫?urllib2是python的乙個獲取urls的元件,通過urlopen函式的形式來提供了乙個非常簡單的介面,根據不同協議獲取urls的能力,urllib2提供了乙個比較復 雜的介面來處理情況,例如 基礎驗證,cookies,和其他。我們分析 response urlli...

Python網路爬蟲 二 urllib2

1.網路爬蟲的架構 2.url管理器的簡單實現 1 存放待爬取url的 set 集合.2 存放未爬取url的 set 集合.3 url管理器應該具有的方法 新增新的url,判斷新增的url是否存在,判斷是否存在待爬取的url,獲取待爬取的url,移動爬取完成的url由未爬取 set 集合至 已爬取 ...