最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python爬蟲之request模塊深入講解

 更新時間:2022年03月09日 10:45:56   作者:xiaochuhe.  
requests是python實現(xiàn)的簡單易用的HTTP庫,使用起來比urllib簡潔很多,下面這篇文章主要給大家介紹了關于python爬蟲之request模塊的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下

一、概述

在后期滲透測試中,經(jīng)常會遇到需要向第三方發(fā)送http請求的場景,python中的requests庫可以很好的滿足這一要求,Requests模塊是一個用于網(wǎng)絡請求的模塊,主要用來模擬瀏覽器發(fā)請求。其實類似的模塊有很多,比如urllib,urllib2,httplib,httplib2,他們基本都提供相似的功能。但是這些模塊都復雜而且差不多過時了,requests模塊簡單強大高效,使得其在眾多網(wǎng)絡請求模塊中脫引而出。

二、安裝和基本步驟使用

環(huán)境安裝:pip install requests

基本步驟:.

1.導入模塊:import requests
2.指定url:url = "........"
3.基于requests模塊發(fā)送請求:res = requests.get(url)
4.獲取響應對象中的數(shù)據(jù)值:print(res.'...')
5.持久化存儲(不是必須的)

三、http知識復習

(一)八種請求方式:GET、 POST、 HEAD、OPTIONS、 PUT、 DELETE、 TRACE、 CONNECT。

這里我只詳細介紹getpost

1.GET

用于獲取資源,當采用 GET 方式請求指定資源時, 被訪問的資源經(jīng)服務器解析后立即返回響應內容。通常以 GET 方式請求特定資源時, 請求中不應該包含請求體,所有需要向被請求資源傳遞的數(shù)據(jù)都應該通過 URL 向服務器傳遞。

2. POST

POST 動作:用于提交數(shù)據(jù), 當采用 POST 方式向指定位置提交數(shù)據(jù)時,數(shù)據(jù)被包含在請求體中,服務器接收到這些數(shù)據(jù)后可能會建立新的資源、也可能會更新已有的資源。同時 POST 方式的請求體可以包含非常多的數(shù)據(jù),而且格式不限。因此 POST 方式用途較為廣泛,幾乎所有的提交操作都可以使用 POST 方式來完成。

注:雖然用 GET 方式也可以提交數(shù)據(jù),但一般不用 GET 方式而是用 POST 方式。在 HTTP協(xié)議中,建議 GET 方式只用來獲取數(shù)據(jù),而 POST 方式則用來提交數(shù)據(jù)(而不是獲取數(shù)據(jù))。

get方式和post方式區(qū)別:

    簡單來說,本質上區(qū)別:
    - GET產生 一個 TCP數(shù)據(jù)包
    - POST產生 兩個 TCP數(shù)據(jù)包

    對于GET方式的請求,瀏覽器會把http header和data一并發(fā)送出去,服務器響應200(返回數(shù)據(jù));
    而對于POST,瀏覽器先發(fā)送header,服務器響應100 continue,瀏覽器再發(fā)送data,服務器響應200 ok(返回數(shù)據(jù))。

(二)http常見請求參數(shù)

    url:請求url地址
    headers:請求頭
    data:發(fā)送編碼為表單形式的數(shù)據(jù)
    params:查詢字符串

    host:請求web服務器的域名地址
    User-Agent:HTTP客戶端運行的瀏覽器類型的詳細信息。通過該頭部信息,web服務器可以判斷到當前HTTP請求的客戶端瀏覽器類別。
    Accept:指定客戶端能夠接收的內容類型,內容類型中的先后次序表示客戶端接收的先后次序。
    Accept-Encoding:指定客戶端瀏覽器可以支持的web服務器返回內容壓縮編碼類型。
    Accept-Language:指定HTTP客戶端瀏覽器用來展示返回信息所優(yōu)先選擇的語言
    Connection:表示是否需要持久連接。如果web服務器端看到這里的值為“Keep-Alive”,或者看到請求使用的是HTTP 1.1(HTTP 1.1默認進行持久連接),表示連接持久有效,是不會斷開的
    cookie:HTTP請求發(fā)送時,會把保存在該請求域名下的所有cookie值一起發(fā)送給web服務器。
    Refer:包含一個URL,用戶從該URL代表的頁面出發(fā)訪問當前請求的頁面

四、request請求模塊的方法使用

舉例說明:爬取我個人網(wǎng)站的數(shù)據(jù)

import requests  #導入request模塊
    url = "http://42.192.212.170/"  #指定url為我個人的網(wǎng)站
    r = requests.get(url)  #基于request模塊給我個人url網(wǎng)站發(fā)送請求
    print (r.url)      #獲取響應包地址
    print (r.status_code) #獲取響應包的狀態(tài)碼
    print (r.headers)  #獲取響應包的頭部信息
    print (len(r.text))  #獲取以文本形式下響應包的長度
    print (r.encoding) #獲取網(wǎng)頁編碼方式
    print (r.cookies)  #獲取響應包的cookie值
    print (r.content)  #以字節(jié)形式返回響應體,會自動解碼成gzip和deflate壓縮

輸出結果:

當然也可以用下面幾種請求方法:

    1.requests.post(“http://httpbin.org/post”)                                        # POST請求
    2.requests.put(“http://httpbin.org/put”)                                          # PUT請求
    3.requests.delete(“http://httpbin.org/delete”)                                    # DELETE請求
    4.requests.head(“http://httpbin.org/get”)                                         # HEAD請求
    5.requests.options(“http://httpbin.org/get” )                                     # OPTIONS請求

requests響應參數(shù)說明:

    r.encoding                       #獲取當前的編碼
    r.encoding = 'utf-8'             #設置編碼
    r.text                           #以encoding解析返回內容。字符串方式的響應體,會自動根據(jù)響應頭部的字符編碼進行解碼。
    r.content                        #以字節(jié)形式(二進制)返回。字節(jié)方式的響應體,會自動為你解碼 gzip 和 deflate 壓縮。
    r.headers                        #以字典對象存儲服務器響應頭,但是這個字典比較特殊,字典鍵不區(qū)分大小寫,若鍵不存在則返回
    r.status_code                     #響應狀態(tài)碼

五,params和payload參數(shù)使用說明

舉例說明:

    import requests  #導入request模塊
    r1 = requests.get("http://42.192.212.170/",params={'s':'1'} )   #params字符串傳參變量s為1
    print (r1.url)
    payload1 = {'s':'1'} #設置payload參變量s為1
    r2 = requests.get("http://42.192.212.170/",params=payload1) #將params設為payload1
    print (r2.url)
    payload2 = {'key1':"value1",'key2':'value2'} #設置payload參變量key1為value1并且變量key2為value2
    r3 = requests.get("http://42.192.212.170/",params=payload2) #params設為payload2
    print (r3.url)

輸出結果:

總結

到此這篇關于python爬蟲之request模塊的文章就介紹到這了,更多相關python爬蟲之request模塊內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python安裝并操作redis實現(xiàn)流程詳解

    Python安裝并操作redis實現(xiàn)流程詳解

    這篇文章主要介紹了Python安裝并操作redis實現(xiàn)流程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-10-10
  • python實現(xiàn)人民幣大寫轉換

    python實現(xiàn)人民幣大寫轉換

    這篇文章主要為大家詳細介紹了python實現(xiàn)人民幣大寫轉換的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • python 截取 取出一部分的字符串方法

    python 截取 取出一部分的字符串方法

    下面小編就為大家?guī)硪黄猵ython 截取 取出一部分的字符串方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • python正則匹配抓取豆瓣電影鏈接和評論代碼分享

    python正則匹配抓取豆瓣電影鏈接和評論代碼分享

    抓取豆瓣各類型電影的鏈接和評論,按評分排列
    2013-12-12
  • Python函數(shù)的參數(shù)類型和使用技巧詳解

    Python函數(shù)的參數(shù)類型和使用技巧詳解

    這篇文章主要介紹了Python函數(shù)的參數(shù)類型和使用技巧詳解,函數(shù)指通過專門的代碼組織,用來實現(xiàn)特定功能的代碼段,具有相對的獨立性,可以被其他代碼重復調用,需要的朋友可以參考下
    2023-08-08
  • 使用wxPython實現(xiàn)逐行加載HTML內容并實時顯示效果

    使用wxPython實現(xiàn)逐行加載HTML內容并實時顯示效果

    這篇博客中,我們將詳細分析如何使用 wxPython 構建一個簡單的桌面應用程序,用于逐行加載并顯示 HTML 文件的內容,并在加載完成后通過瀏覽器組件呈現(xiàn)最終頁面,通過該應用,我們可以體驗到逐行加載 HTML 內容的視覺效果,類似于模擬代碼輸入,需要的朋友可以參考下
    2024-11-11
  • 卷積神經(jīng)網(wǎng)絡CharCNN實現(xiàn)中文情感分類任務

    卷積神經(jīng)網(wǎng)絡CharCNN實現(xiàn)中文情感分類任務

    這篇文章主要為大家介紹了卷積神經(jīng)網(wǎng)絡CharCNN實現(xiàn)中文情感分類任務詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • 詳解Python如何在終端打印字體顏色

    詳解Python如何在終端打印字體顏色

    日常開發(fā)中,海量的信息堆砌在控制臺中,就會導致各種信息都顯示在一起,降低了重要信息的可讀性。這時候,如果能給重要的信息加上差異的字體顏色,那么就會更加顯眼。本文將介紹Python實現(xiàn)終端打印字體顏色的方法,需要的可以了解一下
    2022-10-10
  • pyecharts繪制各種數(shù)據(jù)可視化圖表案例附效果+代碼

    pyecharts繪制各種數(shù)據(jù)可視化圖表案例附效果+代碼

    這篇文章主要介紹了pyecharts繪制各種數(shù)據(jù)可視化圖表案例并附效果和代碼,文章圍繞主題展開詳細的內容介紹,感興趣的小伙伴可以參考一下
    2022-06-06
  • Python簡單實現(xiàn)安全開關文件的兩種方式

    Python簡單實現(xiàn)安全開關文件的兩種方式

    這篇文章主要介紹了Python簡單實現(xiàn)安全開關文件的兩種方式,涉及Python的try語句針對錯誤的判定與捕捉相關技巧,需要的朋友可以參考下
    2016-09-09

最新評論

边坝县| 波密县| 牟定县| 南靖县| 漳平市| 元江| 六枝特区| 大埔县| 临汾市| 宜良县| 星子县| 乡宁县| 安丘市| 德格县| 专栏| 固原市| 黄骅市| 黄平县| 兰坪| 福海县| 宝应县| 晴隆县| 龙南县| 江阴市| 会泽县| 兴城市| 蕲春县| 乐平市| 江孜县| 鲜城| 五大连池市| 尼勒克县| 绵阳市| 砚山县| 凤阳县| 开原市| 平湖市| 汕尾市| 阳谷县| 建阳市| 广丰县|