爬蟲學習(二)requests模組的使用

2022-08-14 02:18:15 字數 2032 閱讀 1304

一、requests的概述

requests模組是用於傳送網路請求,返回響應資料。底層實現是urllib,而且簡單易用,在python2、python3中通用,能夠自動幫助我們解壓(gzip壓縮的等)網頁內容。

二、requests的基本使用

1、基本使用:

2、方法:

(1)requests.get(url, params=none, **kwargs),傳送乙個get請求,返回乙個response物件

(2)requests.post(url, data=none, json=none, **kwargs),傳送乙個post請求

(3)requests.util.dict_from_cookiejar(cj):把cookie物件轉化為字典

(4)requests.util.quote(url):url編碼

(5)requests.util.unquote(url):url解密

3、物件:

(1)response物件,是傳送請求後的響應物件

常用屬性:

三、**

在requests模組中使用**傳送請求的原因是:如果使用乙個固定ip不斷的傳送請求,伺服器會認為這樣的操作不是人幹的,就把你的ip給封了,而且還會根據你的ip快速鎖定你。

**的分類:

1、正向**:

2、反向**:

**ip的分類

1、根據匿名程度:

匿名**:別人只能知道你用了**,無法知道你是誰。

高匿**:讓別人根本無法發現你是在用**,所以是最好的選擇。

2、根據請求的協議:

不同分類的**,在使用的時候需要根據抓取**的協議來選擇。

使用**ip的注意點:

四、獲取伺服器端登入後的資源

三種方式:

五、retrying模組的使用

如果訪問速度很慢,可以選擇重新整理頁面,在**中使用retrying模組重新整理請求,通過裝飾器的方式,讓被裝飾的函式反覆執行。

@retry(stop_max_attempt_number=3),讓函式報錯後繼續重新執行,達到最大執行次數的上限,如果每次都報錯,整個函式報錯,如果中間有乙個成功,程式繼續往後執行

import

requests

from retrying import

retry

headers ={}

#最大重試3次,3次全部報錯,才會報錯

@retry(stop_max_attempt_number=3)

def_parse_url(url)

#超時的時候會報錯並重試

response = requests.get(url, headers=headers, timeout=3)

#狀態碼不是200,也會報錯並重試

assert response.status_code == 200

return

response

defparse_url(url)

try: #

進行異常捕獲

response =_parse_url(url)

except

exception as e:

print

(e)

#報錯返回none

response =none

return response

python爬蟲學習 requests模組

python中原生的一款基於網路請求的模組,功能非常強大,簡單便捷,效率極高。作用 模擬瀏覽器發請求。如何使用 requests模組的編碼流程 指定url 發起請求 獲取響應資料 持久化儲存 環境安裝 pip install requests 練習 1.爬取搜狗首頁的頁面資料 需求 爬取搜狗首頁資料...

python爬蟲requests模組

首先,沒有安裝的先安裝 cmd pip conda install requests 先給大家乙個模板,如果已經很熟悉了,直接忽略,不懂得就可以看看了 接下來解釋一下相應的 的意思 這個和上和上面的是一樣的,執行後輸出的 都是一樣的啦 coding utf 8 引入網路請求模組,該模組有兩個重要的物...

python爬蟲 requests模組

功能 模擬瀏覽器發請求 指定url 發起請求 獲取響應資料 持久化儲存 import requests 指定url url 發起請求,返回乙個響應對像 response requests.get url url 獲取響應資料 text返回的是字串型別的響應資料 page text response....