爬蟲 urllib handler處理器

2022-10-11 12:12:10 字數 2120 閱讀 1314

為什麼要學習handler?

如果定製更高階的請求頭,隨著業務邏輯的複雜請求物件的定製已經滿足不了我們的需求(動態cookie和**不能使用請求物件的定製)

#

handler的基本使用

import

urllib.request

url = '

'headers =

request = urllib.request.request(url=url,headers=headers)

#handler build_opener open

#(1)獲取handler物件

#(2)獲取opener物件

opener =urllib.request.build_opener(handler)

#(3)呼叫open方法

response =opener.open(request)

content = response.read().decode('

utf-8')

print(content)

1)突破自身ip訪問限制,訪問國外站點

2)訪問一些單位或團體內部資源

3)提高訪問速度

通常**伺服器都設定乙個較大的硬碟緩衝區,當有外界的資訊通過時,同時也將其儲存到緩衝區中,當其他使用者再訪問相同的資訊時,則直接由緩衝區中取出資訊,傳給使用者,以提高訪問速度

4)隱藏真實ip

上網者也可以通過這種方法隱藏自己的ip,免受攻擊

建立request物件

建立proxyhandler物件

用handler物件建立opener物件

使用opener.open函式傳送請求

import

urllib.request

url = '

/s?wd=ip

'headers =

#請求物件的定製

request = urllib.request.request(url=url,headers=headers)

#**模擬瀏覽器訪問伺服器

#**ip設定,「快**」找免費ip,免費不好使就花錢買乙個ip

proxies =

handler = urllib.request.proxyhandler(proxies =proxies)

opener =urllib.request.build_opener(handler)

response =opener.open(request)

#獲取響應的資訊

content = response.read().decode('

utf-8')

#儲存with open('

daili.html

','w

',encoding='

utf-8

')as fp:

fp.write(content)

**ip**:

#

**池設定

import

urllib.request

proxies_pool =[,,

]import

random

proxies =random.choice(proxies_pool)

url = '

/s?wd=ip

'headers =

request = urllib.request.request(url=url,headers=headers)

handler = urllib.request.proxyhandler(proxies=proxies)

opener =urllib.request.build_opener(handler)

response =opener.open(request)

content = response.read().decode('

utf-8')

with open(

'daili.html

','w

',encoding='

utf-8

')as fp:

fp.write(content)

爬蟲 爬蟲初識

網路爬蟲 又被稱為網頁蜘蛛,網路機械人 是一種按照一定的規則,自動地抓取全球資訊網資訊的程式或者指令碼,通俗的講就是通過程式去獲取web頁面上自己想要的資料,也就是自動抓取資料。發起請求 通過http庫向目標站點發起請求,也就是傳送乙個request,請求可以包含額外的header等資訊,等待伺服器...

爬蟲 07 反爬蟲

回到頂部 爬蟲和反爬蟲基本概念 爬蟲 自動獲取 資料的程式,關鍵是批量的獲取。反爬蟲 使用技術手段防止爬蟲程式的方法。誤傷 反爬蟲技術將普通使用者識別為爬蟲,如果誤傷過高,效果再高也不能用。成本 反爬蟲需要的人力和機器成本。攔截 成功攔截爬蟲,一般攔截率越高,誤傷率越高。反爬蟲的目的 初級爬蟲 簡單...

爬蟲(一)初識爬蟲

網路爬蟲 又被稱為網頁蜘蛛,網路機械人 就是模擬瀏覽器傳送網路請求,接收請求響應,一種按照一定的規則,自動地抓取網際網路資訊的程式。原則上,只要是瀏覽器 客戶端 能做的事情,爬蟲都能夠做 爬蟲的工作流程 robots協議 通過robots協議告訴搜尋引擎哪些頁面可以抓取,哪些頁面不能抓取,但它僅僅是...